Difference between revisions of "Advanced-C++/C2/Polymorphism/English-timed"
From Script | Spoken-Tutorial
| Line 134: | Line 134: | ||
|- | |- | ||
| 02:12 | | 02:12 | ||
| − | | It inherits the properties of base class parallelogram. | + | | It inherits the properties of base class '''parallelogram'''. |
|- | |- | ||
| 02:17 | | 02:17 | ||
| − | | Here we override the function area. | + | | Here we override the function '''area'''. |
|- | |- | ||
| Line 150: | Line 150: | ||
|- | |- | ||
| 02:25 | | 02:25 | ||
| − | | Here we have another derived class as triangle. | + | | Here we have another derived class as '''triangle'''. |
|- | |- | ||
| 02:29 | | 02:29 | ||
| − | | This also inherits the properties of the base class parallelogram. | + | | This also inherits the properties of the base class '''parallelogram'''. |
|- | |- | ||
| 02:35 | | 02:35 | ||
| − | | Here again we override the function area. | + | | Here again we override the function '''area'''. |
|- | |- | ||
| Line 170: | Line 170: | ||
|- | |- | ||
| 02:43 | | 02:43 | ||
| − | | This is our''' main function.''' | + | | This is our '''main function.''' |
|- | |- | ||
| 02:46 | | 02:46 | ||
| − | | Here we create an''' object '''of''' class parallelogram as p.''' | + | | Here we create an '''object'''of '''class parallelogram as p.''' |
|- | |- | ||
| 02:52 | | 02:52 | ||
| − | | | + | | We can see here '''pointer parallel.''' |
|- | |- | ||
| 02:56 | | 02:56 | ||
| − | | | + | | This is the '''pointer''' of '''class''' '''parallelogram.''' |
|- | |- | ||
| Line 190: | Line 190: | ||
|- | |- | ||
| 03:03 | | 03:03 | ||
| − | | '''Pointer of base class can point to the object of the derived class. | + | | '''Pointer''' of base class can point to the object of the derived class. |
|- | |- | ||
| Line 210: | Line 210: | ||
|- | |- | ||
| 03:26 | | 03:26 | ||
| − | | Here, '''Parallel is assigned to the address of rect''' | + | | Here, '''Parallel''' is assigned to the address of '''rect''' |
|- | |- | ||
| 03:30 | | 03:30 | ||
| − | | '''rect is the object of class Rectangle.''' | + | | '''rect''' is the object of class '''Rectangle.''' |
|- | |- | ||
| Line 226: | Line 226: | ||
|- | |- | ||
| 03:40 | | 03:40 | ||
| − | | | + | | And at last we assign '''Parallel''' to the address of '''Triangle ''' |
|- | |- | ||
| Line 234: | Line 234: | ||
|- | |- | ||
| 03:47 | | 03:47 | ||
| − | | | + | | This is the object of '''class Triangle.''' |
|- | |- | ||
| Line 246: | Line 246: | ||
|- | |- | ||
| 03:56 | | 03:56 | ||
| − | | And This is our return statement | + | | And This is our '''return''' statement |
|- | |- | ||
Revision as of 13:10, 14 October 2014
| Time | Narration |
| 00:02 | Welcome to the spoken tutorial on Polymorphismin C++. |
| 00:07 | In this tutorial we will learn, |
| 00:10 | Polymorphism. |
| 00:11 | Virtual Function. |
| 00:13 | We will do this through an example. |
| 00:16 | To record this tutorial, I am using Ubuntu OS version 11.10 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 triangle. |
| 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 a 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 the 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 objectof 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 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 | And This is our return statement |
| 03:59 | Now let us execute the program |
| 04:02 | Open the terminal window by pressing Ctrl, Alt and T keys simultaneously on your keyboard. |
| 04:09 | To compile type: |
| 04:10 | g++ space virtual.cpp space -o space vir Press Enter |
| 04:20 | Type: ./vir Press Enter |
| 04:24 | You 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 function example 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 India |
| 05:32 | More information on this Mission is available at link shown below : http://spoken-tutorial.org\NMEICT-Intro |
| 05:37 | This is Ashwini Patil from IIT Bombay signing off
Thank You for joining. |