Advanced-C++/C2/Polymorphism/English-timed
From Script | Spoken-Tutorial
| Time' | 'Narration |
| 00:02 | Welcome to the spoken tutorial on Polymorphism in C++. |
| 00:07 | In this tutorial we will learn, |
| 00:10 | Polymorphism. |
| 00:11 | Virtual members. |
| 00:13 | We will do this through an example. |
| 00:16 | To record this tutorial, I am using Ubuntu OS version 11.10 gcc g++ compiler v. 4.6.1 |
| 00:27 | Let us start with the introduction to polymorphism. |
| 00:31 | Polymorphism is the ability to take different forms. |
| 00:36 | It is the mechanism to use a function with same name in different ways. |
| 00:42 | Let us see virtual functions. |
| 00:45 | Virtual function is the member function of a class. |
| 00:49 | It can be overriden in its derived class. |
| 00:53 | It is declared with virtual keyword. |
| 00:57 | Virtual function call is resolved at run-time. |
| 01:01 | Now let us see an example on virtual functions. |
| 01:06 | I have already written the code. |
| 01:08 | Let us go through it. |
| 01:10 | Note that our filename is virtual.cpp |
| 01:15 | In this program: |
| 01:16 | We will calculate the area of a rectangle, parallelogram and traingle. |
| 01:22 | This is our header file as iostream. |
| 01:25 | Here we are using std namespace. |
| 01:29 | Then we have a class parallelogram |
| 01:33 | This is the base class. |
| 01:35 | In this we have declared integer variables as width, height and ar. |
| 01:42 | These are declared protected. |
| 01:45 | Then we have function set_values declared as public. |
| 01:50 | Here we have passed two arguments as a and b. |
| 01:55 | Then we access the protected members using the public members. |
| 02:00 | This is our virtual function area. |
| 02:04 | Here we calculate the area of parallelogram. |
| 02:07 | Then we have class Rectangle as derived class. |
| 02:12 | It inherits the properties of base class parallelogram. |
| 02:17 | Here we override the function area. |
| 02:21 | Then we calculate the area of the rectangle. |
| 02:23 | And print the value. |
| 02:25 | Here we have another derived class as triangle. |
| 02:29 | This also inherits properties of the base class parallelogram. |
| 02:35 | Here again we override the function area. |
| 02:39 | Then we calculate the area of the triangle. |
| 02:41 | And print the value. |
| 02:43 | This is our main function. |
| 02:46 | Here we create an object of class parallelogram as p. |
| 02:52 | We can see here pointer parallel. |
| 02:56 | This is the pointer of class parallelogram. |
| 03:00 | This is called as Base pointer. |
| 03:03 | Pointer of base class can point to the object of the derived class. |
| 03:08 | Here we create objects of class Rectangle and Triangle. |
| 03:14 | Here, Parallel is assigned to the address of p. |
| 03:18 | Then we pass arguments as 3 and 2. |
| 03:23 | Then we call function area. |
| 03:26 | Here, Parallel is assigned to the address of rect |
| 03:30 | rect is the object of class Rectangle. |
| 03:33 | Again we pass arguments as 4 and 5. |
| 03:37 | And we call the function area. |
| 03:40 | And at last we assign Parallel is assigned to the address of Triangle |
| 03:45 | trgl. |
| 03:47 | This is the object of class Triangle. |
| 03:51 | Here we pass arguments as 6 and 5. |
| 03:54 | And call function area. |
| 03:56 | This is our return statement |
| 03:59 | Now let us execute the program |
| 04:02 | open the terminal by pressing Ctrl, Alt and T keys simultaneously on your keyboard. |
| 04:09 | To compile type: |
| 04:10 | g++ virtual.cpp -o vir Press Enter |
| 04:20 | Type: ./vir Press Enter |
| 04:24 | We can see that, The output is displayed as: |
| 04:27 | Area of parallelogram is 6 |
| 04:29 | Area of rectangle is 20 |
| 04:31 | and Area of triangle is 15 |
| 04:34 | Come back to our slides. |
| 04:36 | Let us summarize. |
| 04:37 | In this tutorial, we learnt |
| 04:39 | Polymorphism. |
| 04:41 | Virtual functione.g. Virtualint area |
| 04:45 | As an assignment |
| 04:46 | Calculate the perimeter of rectangle, square and triangle. |
| 04:50 | Create perimeter as a virtual function. |
| 04:54 | Watch the video available at the link shown below |
| 04:57 | It summarizes the Spoken Tutorial project |
| 05:00 | If you do not have good bandwidth, you can download and watch it |
| 05:04 | The Spoken Tutorial Project Team |
| 05:06 | Conducts workshops using spoken tutorials |
| 05:09 | Gives certificates to those who pass an online test |
| 05:14 | For more details, please write to, contact@spoken-tutorial.org |
| 05:21 | Spoken Tutorial Project is a part of the Talk to a Teacher project |
| 05:25 | It is supported by the National Mission on Education through ICT, MHRD, Government of Indiaabout:startpage |
| 05:32 | More information on this Mission is available at: http://spoken-tutorial.org\NMEICT-Intro |
| 05:37 | This is Ashwini Patil from IIT Bombay signing off
Thank You for joining. |