0% found this document useful (0 votes)
6 views28 pages

Lecture 2

The document provides an overview of Object Oriented Programming (OOP) concepts in C++ including classes, objects, and access specifiers. It explains the limitations of structures in C, the advantages of classes in C++, and how to declare and use classes and member functions. Additionally, it covers data encapsulation, access control, and the importance of member functions in managing class data.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views28 pages

Lecture 2

The document provides an overview of Object Oriented Programming (OOP) concepts in C++ including classes, objects, and access specifiers. It explains the limitations of structures in C, the advantages of classes in C++, and how to declare and use classes and member functions. Additionally, it covers data encapsulation, access control, and the importance of member functions in managing class data.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Object Oriented Programming /C++

Lecture 2
Structure in C and C++
Class
Object
Programming Example

1
Simple Example:
#include <iostream>

using namespace std;

void main()
{
cout << "Enter number 1: ";
int a;
cin >> a;

cout << "Enter number 2: ";


int b;
cin >> b;

int s = a + b; Output

cout << "Sum = " << s;

}
Structures Revisited
 Makes convenient to handle a group of logically related data items.
struct student //declaration
{
char name[20];
int roll_number;
float total_marks;
};
struct student A;// C declaration
student A; //C++ declaration
A.roll_number=999;
A.total_marks=595.5;
Final_Total=A.total_marks + 5;
C Structures limitation
➢ Limitations in C

o No constructors and destructors.


o They do not permit data hiding.
o Structure does not support the inheritance.

➢ Advantages in C++

o Can hold variables and functions as members.


o Can also declare some of its members as ‘private’.
o C++ introduces another user-defined type known as ‘class’ to incorporate all these extensions.
Class: How to declare?
• A class definition starts with the keyword class followed by the class
name;
• and the class body, enclosed by a pair of curly braces.
• A class definition must be followed either by a semicolon or a list of
declarations.
Access
Specifiers
Class: Example

Functions and variables


declared inside a class
declaration are said to
be members of this
class.

Object of class Box


Properties of Class

➢ Class members that have been declared as private can be


accessed only from within the class.

➢ Public class members can be accessed from outside the class


also.

➢ Supports data-hiding and data encapsulation features of OOP.


Object

❑ Object is the actual run time entity which holds data and
function that has been defined in the class.

❑ Object declaration:
class_name obj1;
class_name obj2,obj3;
Class and Object
 Accessing class members
• [Link]-name(actual-arguments);
• [Link](100,34.4);
 Defining Member Functions
• Outside the class definition.
return-type class-name::function-name (argument
declaration)
{
Function body;
}
• Inside the class definition.
Same as normal function declaration.
class employee
{
char name [30];
float age;
public:
void getdata(void);
void putdata(void);
};

employee manager[3];//array of manager


employee worker[7];//array of worker

Manager[i].putdata();
Access Specifiers: private and public
• Variables or functions declared after access specifier private accessible
only to member functions of the class.
• Variables or functions declared after access specifier public accessible both
by other members of the class and other part of the program that contains
the class.
• Protected - Data members and functions are available to derived classes
only.

• The default access for class members is private.

• Declaring data members with access specifier private is known as data


hiding. (encapsulation)
Public, Private

Private variable of class Box.

Public variable of class Box.

No problem, you can access a public variable through objects of that


class.
Problem, private variables can access only through member functions of
that class..
Class with member function
Definition:
Function that are declared to be part of a class are called member function of that class.
ob ob2 Each object of a class has
Print_volum Print_volum its own copy of every
l w h l w h
e e variable declared within
the class.
ob ob2
Print_volum Print_volum
l w h l w h
e e
ob ob2
Print_volum Print_volum
l w h l w h
e e
ob ob2
Print_volum Print_volum
l w h l w h
e e
5
ob ob2
Print_volum Print_volum
l w h l w h
e e
5 10
ob ob2
Print_volum Print_volum
l w h l w h
e e
5 10 10
ob ob2
Print_volum Print_volum
l w h l w h
e e
5 10 10
ob ob2
Print_volum Print_volum
l w h l w h
e e
5 10 10
ob ob2
Print_volum Print_volum
l w h l w h
e e
5 10 10
ob ob2
Print_volum Print_volum
l w h l w h
e e
5 10 10
ob ob2
Print_volum Print_volum
l w h l w h
e e
5 10 10

500
Member function with Scope
resolution operator ( :: )

1. Return type of the function. return_type class_name ::


2. Class name function_name()
3. Scope resolution operator :: {
4. Function name with //function body.
parameter list. }
5. Function body between {}
Member function with Scope resolution
operator
Dealing with private data
It is common practice to declare all variables as private and functions as
public.
Example: Function with parameter

You might also like