Difference between revisions of "Advanced-C++/C2/Classes-And-Objects/English-timed"
From Script | Spoken-Tutorial
Sandhya.np14 (Talk | contribs) |
Sandhya.np14 (Talk | contribs) |
||
| Line 174: | Line 174: | ||
|- | |- | ||
|02:31 | |02:31 | ||
| − | |Now let us move back to our | + | |Now let us move back to our '''slide'''s to know more about the '''access specifiers'''. |
|- | |- | ||
| Line 182: | Line 182: | ||
|- | |- | ||
| 02:39 | | 02:39 | ||
| − | |The '''public''' specifier allows the '''data''' to be accessed outside the '''class'''. | + | |: The '''public''' specifier allows the '''data''' to be accessed outside the '''class'''. |
|- | |- | ||
| 02:44 | | 02:44 | ||
| − | | A '''public''' member can be used anywhere in the program. | + | |: A '''public''' member can be used anywhere in the program. |
|- | |- | ||
| Line 194: | Line 194: | ||
|- | |- | ||
| 02:51 | | 02:51 | ||
| − | |The members declared as '''private''' cannot be used or accessed outside the '''class'''. | + | |: The members declared as '''private''' cannot be used or accessed outside the '''class'''. |
|- | |- | ||
| 02:57 | | 02:57 | ||
| − | |'' | + | |: ''private''' members can be used only by the members of the '''class'''. |
|- | |- | ||
| 03:03 | | 03:03 | ||
| − | | | + | | '''Protected specifier'''- |
|- | |- | ||
| 03:05 | | 03:05 | ||
| − | |''' | + | |* '''protected''' members cannot be accessed from outside the '''class'''. |
|- | |- | ||
| 03:10 | | 03:10 | ||
| − | |They can be accessed by a '''derived''' '''class'''. | + | |* They can be accessed by a '''derived''' '''class'''. |
|- | |- | ||
| Line 238: | Line 238: | ||
|- | |- | ||
| 03:36 | | 03:36 | ||
| − | | Here, we have passed an '''argument''' as '''int a | + | | Here, we have passed an '''argument''' as '''int a'''. |
|- | |- | ||
| 03:40 | | 03:40 | ||
| − | | Now, let us switch back to | + | | Now, let us switch back to our '''slide'''s to know more about the '''scope resolution operator.''' |
|- | |- | ||
| Line 266: | Line 266: | ||
|- | |- | ||
| 04:10 | | 04:10 | ||
| − | | Now switch to our program. | + | | Now, switch to our program. |
|- | |- | ||
| Line 282: | Line 282: | ||
|- | |- | ||
| 04:22 | | 04:22 | ||
| − | |To access the private parameter, we used the public member 'a.' | + | |To access the '''private parameter''', we used the '''public''' member 'a.' |
|- | |- | ||
| Line 330: | Line 330: | ||
|- | |- | ||
| 05:03 | | 05:03 | ||
| − | | Open the terminal window by pressing '''Ctrl, Alt and T ''' | + | | Open the terminal window by pressing '''Ctrl, Alt and T''' '''key'''s simultaneously on your keyboard. |
|- | |- | ||
| Line 406: | Line 406: | ||
|- | |- | ||
| 06:17 | | 06:17 | ||
| − | |Let us move back to our | + | |Let us move back to our '''slide'''s. |
|- | |- | ||
| Line 430: | Line 430: | ||
|- | |- | ||
| 06:27 | | 06:27 | ||
| − | | int x; | + | |''' int x;''' |
|- | |- | ||
| Line 438: | Line 438: | ||
|- | |- | ||
| 06:30 | | 06:30 | ||
| − | | int area(int); | + | |''' int area(int);''' |
|- | |- | ||
| Line 446: | Line 446: | ||
|- | |- | ||
| 06:33 | | 06:33 | ||
| − | |class square | + | |'''class square''' |
|- | |- | ||
| Line 474: | Line 474: | ||
|- | |- | ||
| 06:52 | | 06:52 | ||
| − | |It summarizes the Spoken Tutorial project. | + | |It summarizes the '''Spoken Tutorial''' project. |
|- | |- | ||
| Line 482: | Line 482: | ||
|- | |- | ||
| 07:00 | | 07:00 | ||
| − | | The Spoken Tutorial Project | + | | The Spoken Tutorial Project team: |
|- | |- | ||
Revision as of 08:27, 27 June 2015
| 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 |
| 00:12 | * 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. |
| 05:25 | 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 |
| 06:24 | * Data Abstraction |
| 06:25 | * Private members |
| 06:27 | int x; |
| 06:29 | * Public functions |
| 06:30 | int area(int); |
| 06:32 | * classes |
| 06:33 | 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: |
| 06:44 | 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. |