Object Oriented Programming
Abstraction
Abstraction
Encapsulation
Inheritance
Polymorphism
C++ Classes �&�Objects��
Classes & Objects
Classes in C++
class class_name
{
….
….
….
};
Class body (data member + methods)
Any valid identifier
Classes in C++
Classes in C++
class class_name
{
private:
…
…
…
public:
…
…
…
};
Public members or methods
private members or methods
Classes in C++
Class Example
class Circle
{
private:
double radius;
public:
void setRadius(double r); double getDiameter();
double getArea();
double getCircumference();
};
No need for others classes to access and retrieve its value directly. The
class methods are responsible for
that only.
They are accessible from outside
the class, and they can access the
member (radius)
Creating an object of a Class
Special Member Functions
Special Member Functions
class Circle
{
private:
double radius;
public:
Circle();
Circle(int r);
void setRadius(double r);
double getDiameter();
double getArea();
double getCircumference();
};
Constructor with no argument
Constructor with one argument
Implementing class methods
ReturnType ClassName::MemberFunctionName( ){
…
}
Implementing class methods
Accessing Class Members
Destructors
Structure vs class in C++�
Members of a class
And
// Program 1
class Test
{
int x; // x is private
};
int main()
{
Test t;
t.x = 20;
// compiler error because x is private
return 0;
}
struct Test
{
int x;
// x is public
};
int main()
{
Test t;
t.x = 20; // works fine because x is public
return 0;
}