From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:02 Welcome to the spoken tutorial on Polymorphismin C++.
00:07 In this tutorial, we will learn:
00:10 Polymorphism 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 version 4.6.1

00:27 Let us start with an 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,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 the 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 the 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: 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.In this tutorial, we learnt:
04:39 Polymorphism
04:41 Virtual function, example Virtual int area().
04:45 As an assignment: 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:
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 :
05:37 This is Ashwini Patil from IIT Bombay, signing off.Thank You for joining.

Contributors and Content Editors

PoojaMoolya, Pratik kamble, Ranjana, Sandhya.np14, Sneha