Advanced-C++/C2/Classes-And-Objects/English-timed

From Script | Spoken-Tutorial
Revision as of 14:42, 7 March 2017 by Pratik kamble (Talk | contribs)

Jump to: navigation, search
Time Narration
00:01 Welcome to the spoken tutorial on Classes and Objects in C++.
00:07 In this tutorial, we will learn:
00:09 * Classes
00:11 * Objects Encapsulation and
00:14 * Data abstraction.
00:16 We will do this with the help of an example.
00:20 To record this tutorial, I am using:
00:23 *Ubuntu OS version 11.10
00:28 *g++ compiler version 4.6.1
00:32 Let us start with the introduction to classes.
00:36 Class is created using a keyword class.
00:39 It holds data and functions.
00:42 Class links the code and data.
00:45 The data and functions of the class are called as members of the class.
00:51 Let us move on to objects.
00:53 Objects are variables.
00:55 They are the copy of a class.
00:58 Each of them has properties and behavior.
01:01 Properties are defined through data elements and
01:06 behavior is defined through member functions called methods.
01:10 Now let us see the syntax for a class.
01:14 Here, class is a keyword used to define a class.
01:18 Class-name is the name of the class.
01:21 public, private and protected are the access specifier.
01:26 And here we have defined the data members and the member functions as public, private and protected.
01:34 This is how we close the class.
01:37 Now let us see an example.
01:39 I have already typed the code on the editor.
01:42 I will open it.
01:44 Note that our filename is class hyphen obj dot cpp
01:50 In this example, we will calculate the area of a square using class.
01:56 Let me explain the code now.
01:58 This is our header file as iostream.
02:02 Here we are using the std namespace.
02:06 This is declaration for a class named square.
02:10 Here, I have not declared any access specifier.
02:14 So, by default it is private.
02:17 Hence, variable x is a private member of class square.
02:22 This is the public specifier.
02:25 Function area is a public function.
02:28 And this is how we close the class.
02:31 Now let us move back to our slides to know more about the access specifiers.
02:36 Public specifier-
02:39 : The public specifier allows the data to be accessed outside the class.
02:44 : A public member can be used anywhere in the program.
02:49 Private specifier-
02:51 : The members declared as private cannot be used or accessed outside the class.
02:57 : private' members can be used only by the members of the class.
03:03 Protected specifier-
03:05 * protected members cannot be accessed from outside the class.
03:10 * They can be accessed by a derived class.
03:13 Let us move back to our program.
03:16 Here, in this statement we have the class name,
03:21 the scope resolution operator and the function name.
03:25 We must use this operator.
03:27 It specifies that function area is not a global function.
03:33 It is a member function of class square.
03:36 Here, we have passed an argument as int a.
03:40 Now, let us switch back to our slides to know more about the scope resolution operator.
03:46 It is used to access the hidden data.
03:49 To access the variable or function with the same name, we use the scope resolution operator ::.
03:56 Suppose the local variable and the global variable have same name.
04:01 The local variable gets the priority.
04:05 We can access the global variable using ::(scope resolution operator.)
04:10 Now, switch to our program.
04:12 Here the value of a is stored in x.
04:17 Then we return the area of the square.
04:20 Here x is a private member.
04:22 To access the private parameter, we used the public member a.
04:27 private members are always hidden.
04:30 This is our main function.
04:33 Here, sqr is the object of class square.
04:37 This is how we create an object.
04:40 class-name followed by the object-name.
04:43 Here, we call the function area using the object sqr and a .(dot) operator.
04:50 Then we pass an argument as 4.
04:53 We set the value of x as 4.
04:57 This is our return statement.
04:59 Now click on Save.
05:00 Let us execute the program.
05:03 Open the terminal window by pressing Ctrl, Alt and T keys simultaneously on your keyboard.
05:11 To compile, type: g++ space class hyphen obj dot cpp space hyphen o space class
05:20 Press Enter.
05:22 Type./class(dot slash class).
05:24 Press Enter.The output is displayed as:
05:28 Area of the square is 16
05:30 Now, let us move back to our program.
05:35 So far now we have seen,
05:37 the data and functions combined together in a class.
05:41 class is a single unit
05:44 in which the data and the function using them is grouped.
05:49 This mechanism is called as Encapsulation.
05:53 Then we have seen class with the private and public members.
05:59 The private data is hidden.
06:02 It cannot be accessed outside the class.
06:05 This mechanism is called as Data abstraction.
06:09 The interface is seen but the implementation is hidden.
06:14 This brings us to the end of this tutorial.
06:17 Let us move back to our slides.
06:19 Let us summarize.
06:20 In this tutorial, we have learnt:
06:23 * Encapsulation Data Abstraction
06:25 * Private members
06:27 int x;
06:29 * Public functions int area(int);
06:32 * classes'class square'
06:35 * To create object,
06:37 square sqr;
06:39 * To call a function using object sqr dot area();
06:43 As an assignment: write a program to find the perimeter of a given circle.
06:49 Watch the video available at the link shown below.
06:52 It summarizes the Spoken Tutorial project.
06:55 If you do not have good bandwidth, you can download and watch it.
07:00 The Spoken Tutorial Project team:
07:02 Conducts workshops using spoken tutorials.
07:05 Gives certificates to those who pass an online test.
07:09 For more details, please write to: contact@spoken-tutorial.org
07:16 Spoken Tutorial Project is a part of the "Talk to a Teacher" project.
07:20 It is supported by the National Mission on Education through ICT, MHRD, Government of India.
07:26 More information on this mission is available at the link shown below.
07:31 This is Ashwini Patil from IIT Bombay, signing off. Thank You for joining.

Contributors and Content Editors

PoojaMoolya, Pratik kamble, Sandhya.np14