Difference between revisions of "Advanced-C++/C2/Polymorphism/English-timed"
From Script | Spoken-Tutorial
PoojaMoolya (Talk | contribs) |
Sandhya.np14 (Talk | contribs) |
||
Line 6: | Line 6: | ||
|- | |- | ||
| 00:02 | | 00:02 | ||
− | | Welcome to the spoken tutorial on '''Polymorphism'''in '''C++'''. | + | | Welcome to the '''spoken tutorial''' on '''Polymorphism'''in '''C++'''. |
|- | |- | ||
| 00:07 | | 00:07 | ||
− | | In this tutorial we will learn | + | | In this tutorial, we will learn: |
|- | |- | ||
| 00:10 | | 00:10 | ||
− | | '''Polymorphism | + | |* '''Polymorphism''' |
|- | |- | ||
| 00:11 | | 00:11 | ||
− | | '''Virtual Function.''' | + | |* '''Virtual Function.''' |
|- | |- | ||
Line 26: | Line 26: | ||
|- | |- | ||
| 00:16 | | 00:16 | ||
− | | To record this tutorial, I am using '''Ubuntu OS '''version 11.10 '''g++ compiler ''' | + | | To record this tutorial, I am using: |
+ | * '''Ubuntu OS '''version '''11.10''' | ||
+ | * '''g++ compiler '''version 4.6.1''' | ||
|- | |- | ||
Line 38: | Line 40: | ||
|- | |- | ||
|00:36 | |00:36 | ||
− | | It is the mechanism to use a '''function | + | | It is the mechanism to use a '''function''' with same name in different ways. |
|- | |- | ||
| 00:42 | | 00:42 | ||
− | | Let us see virtual functions. | + | | Let us see '''virtual functions'''. |
|- | |- | ||
| 00:45 | | 00:45 | ||
− | | '''Virtual''' function is the member function of a class. | + | | '''Virtual''' function is the member function of a '''class'''. |
|- | |- | ||
| 00:49 | | 00:49 | ||
− | | It can be | + | | It can be overridden in its '''derived class.''' |
|- | |- | ||
Line 66: | Line 68: | ||
|- | |- | ||
| 01:06 | | 01:06 | ||
− | | I have already written the code. | + | | I have already written the '''code'''. |
|- | |- | ||
Line 74: | Line 76: | ||
|- | |- | ||
| 01:10 | | 01:10 | ||
− | | Note that our | + | | Note that our file name is '''virtual.cpp'''. |
|- | |- | ||
Line 86: | Line 88: | ||
|- | |- | ||
| 01:22 | | 01:22 | ||
− | | This is our header file as '''iostream.''' | + | | This is our '''header file''' as '''iostream.''' |
|- | |- | ||
Line 102: | Line 104: | ||
|- | |- | ||
| 01:35 | | 01:35 | ||
− | | In this we have declared''' integer variables''' as '''width,height''' and '''ar.''' | + | | In this, we have declared''' integer variables''' as '''width,height''' and '''ar.''' |
|- | |- | ||
Line 110: | Line 112: | ||
|- | |- | ||
| 01:45 | | 01:45 | ||
− | | Then we have function '''set_values''' declared as '''public.''' | + | | Then we have function '''set_values()''', declared as '''public.''' |
|- | |- | ||
Line 118: | Line 120: | ||
|- | |- | ||
| 01:55 | | 01:55 | ||
− | | Then we access the protected members using the public members. | + | | Then we access the '''protected''' members using the '''public members'''. |
|- | |- | ||
| 02:00 | | 02:00 | ||
− | | This is our '''virtual function area.''' | + | | This is our '''virtual function "area".''' |
|- | |- | ||
Line 130: | Line 132: | ||
|- | |- | ||
| 02:07 | | 02:07 | ||
− | | Then we have class '''Rectangle''' as a '''derived class.''' | + | | Then we have '''class''' '''Rectangle''' as a '''derived class.''' |
|- | |- | ||
Line 138: | Line 140: | ||
|- | |- | ||
| 02:17 | | 02:17 | ||
− | | Here we override the function '''area'''. | + | | Here we '''override''' the function '''area'''. |
|- | |- | ||
Line 146: | Line 148: | ||
|- | |- | ||
| 02:23 | | 02:23 | ||
− | | And print the value. | + | | And '''print''' the '''value'''. |
|- | |- | ||
| 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 166: | Line 168: | ||
|- | |- | ||
| 02:41 | | 02:41 | ||
− | | And print the value. | + | | And '''print''' the '''value'''. |
|- | |- | ||
| 02:43 | | 02:43 | ||
− | | This is our '''main | + | | 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.''' |
|- | |- | ||
Line 190: | Line 192: | ||
|- | |- | ||
| 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 206: | Line 208: | ||
|- | |- | ||
| 03:23 | | 03:23 | ||
− | | Then we call''' | + | | Then we call function '''area().''' |
|- | |- | ||
| 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 222: | Line 224: | ||
|- | |- | ||
| 03:37 | | 03:37 | ||
− | | And we call the''' | + | | And we call the function '''area().''' |
|- | |- | ||
| 03:40 | | 03:40 | ||
− | | And at last we assign '''Parallel''' to the address of '''Triangle ''' | + | | And, at last we assign '''Parallel''' to the address of '''Triangle ''' |
|- | |- | ||
Line 238: | Line 240: | ||
|- | |- | ||
| 03:51 | | 03:51 | ||
− | | Here we pass '''arguments '''as''' 6 '''and''' 5 | + | | Here, we pass '''arguments '''as''' 6 '''and''' 5''' |
|- | |- | ||
| 03:54 | | 03:54 | ||
− | | | + | | and call''' function area().''' |
|- | |- | ||
| 03:56 | | 03:56 | ||
− | | And | + | | And this is our '''return''' statement. |
|- | |- | ||
| 03:59 | | 03:59 | ||
− | | Now let us execute the program | + | | Now, let us '''execute''' the program. |
|- | |- | ||
| 04:02 | | 04:02 | ||
− | | Open the terminal window by pressing '''Ctrl, Alt and T '''keys simultaneously on your keyboard. | + | | Open the '''terminal window''' by pressing '''Ctrl, Alt''' and '''T '''keys simultaneously on your keyboard. |
|- | |- | ||
| 04:09 | | 04:09 | ||
− | | To compile type: | + | | To compile, type: |
|- | |- | ||
| 04:10 | | 04:10 | ||
− | | '''g++ space virtual.cpp space -o space vir''' | + | | '''g++ space virtual.cpp space -o space vir''' press '''Enter'''. |
|- | |- | ||
| 04:20 | | 04:20 | ||
− | | Type: '''./vir ''' ''' | + | | Type: '''./vir ''' press '''Enter'''. |
|- | |- | ||
| 04:24 | | 04:24 | ||
− | | You can see that | + | | You can see that the '''output''' is displayed as: |
|- | |- | ||
Line 282: | Line 284: | ||
|- | |- | ||
| 04:31 | | 04:31 | ||
− | | and '''Area of triangle is 15''' | + | | and '''Area of triangle is 15'''. |
|- | |- | ||
| 04:34 | | 04:34 | ||
− | | Come back to our slides. | + | | Come back to our '''slides'''. |
|- | |- | ||
Line 294: | Line 296: | ||
|- | |- | ||
| 04:37 | | 04:37 | ||
− | | In this tutorial, we learnt | + | | In this tutorial, we learnt: |
|- | |- | ||
| 04:39 | | 04:39 | ||
− | | '''Polymorphism | + | |* '''Polymorphism''' |
|- | |- | ||
| 04:41 | | 04:41 | ||
− | | Virtual function example '''Virtual int area''' | + | |* Virtual function, example '''Virtual int area()'''. |
|- | |- | ||
| 04:45 | | 04:45 | ||
− | | As an assignment | + | | As an assignment: |
|- | |- | ||
| 04:46 | | 04:46 | ||
− | | Calculate the perimeter of rectangle, square and triangle. | + | |* Calculate the perimeter of rectangle, square and triangle. |
|- | |- | ||
| 04:50 | | 04:50 | ||
− | | Create perimeter as a '''Virtual function.''' | + | |* Create perimeter as a '''Virtual function.''' |
|- | |- | ||
| 04:54 | | 04:54 | ||
− | | Watch the video available at the link shown below | + | | Watch the video available at the link shown below. |
|- | |- | ||
| 04:57 | | 04:57 | ||
− | | It summarizes the Spoken Tutorial project | + | | It summarizes the Spoken-Tutorial project. |
|- | |- | ||
| 05:00 | | 05:00 | ||
− | | If you do not have good bandwidth, you can download and watch it | + | | If you do not have good bandwidth, you can download and watch it. |
|- | |- | ||
| 05:04 | | 05:04 | ||
− | | The Spoken Tutorial Project | + | | The Spoken Tutorial Project team: |
|- | |- | ||
| 05:06 | | 05:06 | ||
− | | Conducts workshops using spoken tutorials | + | | Conducts workshops using spoken tutorials. |
|- | |- | ||
| 05:09 | | 05:09 | ||
− | | Gives certificates to those who pass an Online test | + | | Gives certificates to those who pass an Online test. |
|- | |- | ||
Line 346: | Line 348: | ||
|- | |- | ||
| 05:21 | | 05:21 | ||
− | | Spoken Tutorial Project is a part of the Talk to a Teacher project | + | | Spoken-Tutorial Project is a part of the "Talk to a Teacher" project. |
|- | |- | ||
| 05:25 | | 05:25 | ||
− | | It is supported by the National Mission on Education through ICT, MHRD, Government of India | + | | It is supported by the National Mission on Education through ICT, MHRD, Government of India. |
|- | |- | ||
| 05:32 | | 05:32 | ||
− | | More information on this | + | | More information on this mission is available at link shown below : [http://spoken-tutorial.org/NMEICT-Intro] |
|- | |- | ||
|05:37 | |05:37 | ||
− | |This is Ashwini Patil from IIT Bombay signing off | + | |This is Ashwini Patil from IIT Bombay, signing off. |
− | + | Thank You for joining. | |
|} | |} |
Revision as of 23:10, 28 June 2015
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:
|
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 overridden 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 file name 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 Virtual int 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 : [1] |
05:37 | This is Ashwini Patil from IIT Bombay, signing off.
Thank You for joining. |