OBJECT ORIENTED PROGRAMMING THROUGH C++

syllabus programs :

Download Manual : Download now

Exercise -1 (Classes Objects)
Create a Distance class with:
•feet and inches as data members
•member function to input distance
•member function to output distance
•member function to add two distance objects
1. Write a main function to create objects of DISTANCE class. Input two distances and
output the sum.
#include<iostream>
using namespace std;
class Distance{ 
    private:
    int feet,inch;
    public:
    void readDistance(){
        cout<<"enter distance in feet and inches"<<endl;
        cin>>feet>>inch;
    }
    void displayDistance(){
        cout<<"the distance is"<<endl;
        cout<<feet<<"feet"<<inch<<"inch"<<endl;
    }
    void addDistance(Distance d1,Distance d2){
        feet=d1.feet+d2.feet;
        inch=d1.inch+d2.inch;
        if(inch>12){
        feet=d1.feet+d2.feet+(inch/12);
        inch=inch%12;
    }
}
};
int main(){
    Distance d1,d2,d3;
    d1.readDistance();
    d2.readDistance();
    d1.displayDistance();
    d2.displayDistance();
    d3.addDistance(d1,d2);
    d3.displayDistance();
    return 0;
    
}

2. Write a C++ Program to illustrate the use of Constructors and Destructors (use the
above program.)
#include<iostream>
using namespace std;

class Distance{ 

    private:

    int feet,inch;

    public:

    Distance(){

        feet=10;

        inch=10;

        }

    Distance(int feet1,int inch1){

        feet=feet1;

        inch=inch1;

    }

   ~Distance(){

        cout<<"destructor called"<<endl;

    }

    void displayDistance(){

        cout<<"the distance is"<<endl;

        cout<<feet<<"feet"<<inch<<"inch"<<endl;

    }

    void addDistance(Distance d1,Distance d2){

        feet=d1.feet+d2.feet;

        inch=d1.inch+d2.inch;

        if(inch>12){

        feet=d1.feet+d2.feet+(inch/12);

        inch=inch%12;

    }

}

};

int main(){

    Distance d1,d2(20,20),d3;

    d1.displayDistance();

    d2.displayDistance();

    d3.addDistance(d1,d2);

    d3.displayDistance();

    return 0;

    

}
3. Write a program for illustrating function overloading in adding the distance between
objects (use the above problem)
#include<iostream>

using namespace std;

class Distance{ 

    private:

    int feet,inch;

    public:

    Distance(){

        feet=10;

        inch=10;

        }

    Distance(int feet1,int inch1){

        feet=feet1;

        inch=inch1;

    }

   ~Distance(){

        cout<<"destructor called"<<endl;

    }

    void displayDistance(){

        cout<<"the distance is"<<endl;

        cout<<feet<<"feet"<<inch<<"inch"<<endl;

    }

    void addDistance(Distance d1,Distance d2){

        feet=d1.feet+d2.feet;

        inch=d1.inch+d2.inch;

        if(inch>12){

        feet=d1.feet+d2.feet+(inch/12);

        inch=inch%12;

    }

    }

    void addDistance(int feetq,int inchq){

        feet=feet+feetq;

        inch=inchq+inch;

        if(inch>12){

        feet=feet+(inch/12);

        inch=inch%12;

    }

}

};

int main(){

    Distance d1,d2(20,20),d3,d4(15,15);

    d1.displayDistance();

    d2.displayDistance();

    d3.addDistance(d1,d2);

    d4.addDistance(30,30);

    d3.displayDistance();

    d4.displayDistance();

    return 0;

    

}

Exercise – 2 (Access)
Write a program for illustrating Access Specifiers public, private, protected
1. Write a program implementing Friend Function
#include<iostream>
using namespace std;
class Add{
private:
int a,b,c;
public:
void readAdd(){
cout<<"enter a,b values"<<endl;
cin>>a>>b;
}
void add(){
c=a+b;
}
friend void displayAdd(Add);
};
void displayAdd(Add a11){
cout<<"a="<<a11.a<<endl;
cout<<"b="<<a11.b<<endl;
cout<<"c="<<a11.c<<endl;
}
int main(){
Add a1;
a1.readAdd();
a1.add();
displayAdd(a1);
return 0;
}


2. Write a program to illustrate this pointer
#include<iostream>
using namespace std;
class Complex{
private:
int a;
int b;
public:
void readComplex(){
cout<<"enter a,b values"<<endl;
cin>>a>>b;
}
void displayComplex(){
cout<<"the complex num is"<<endl;
if(b>0){
cout<<a<<"+i"<<b<<endl;
}
else {
cout<<a<<"+i"<<b<<endl;
}
}
Complex operator +(Complex c11){
this->a=a+c11.a;
this->b=b+c11.b;
return *this;
}
};
int main(){
Complex c1,c2,c3;
c1.readComplex();
c2.readComplex();
c1.displayComplex();
c2.displayComplex();
c3=c1+c2;
c3.displayComplex();
return 0;
}
3. Write a Program to illustrate pointer to a class
#include<iostream>
using namespace std;
class Add{
int a,b,c;
public:
void readAdd(){
cout<<"enter a,b values"<<endl;
cin>>a>>b;
}
void displayAdd(){
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
}
void add(){
c=a+b;
cout<<"c="<<c<<endl;
}
};
int main(){
Add a1;
a1.readAdd();
a1.displayAdd();
a1.add();
Add *pa1;
pa1=&a1;
pa1->readAdd();
pa1->displayAdd();
pa1->add();
(*pa1).readAdd();
(*pa1).displayAdd();
(*pa1).add();
return 0;
}

Exercise -3 (Operator Overloading)
1. Write a program to Overload Unary, and Binary Operators as Member Function, and
Non Member Function.
1. Unary operator as member function

#include<iostream>

using namespace std;

class A{

private :

int a;

int b;

int c;

public:

void readA(){

cout<<"enter a,b,c values"<<endl;

cin>>a>>b>>c;

}

void displayA(){

cout<<"a="<<a<<endl;

cout<<"b="<<b<<endl;

cout<<"c="<<c<<endl;

}

void operator ++(){

++a;

++b;

++c;

}

void operator ++(int i){

a++;

b++;

c++;

}

void operator --(){

--a;

--b;

--c;

}

void operator --(int i){

a--;

b--;

c--;

}

};

int main(){

A a1;

a1.readA();

a1.displayA();

++a1;

a1.displayA();

a1++;

a1.displayA();

a1--;

a1.displayA();

--a1;

a1.displayA();

return 0;

}
2. Binary operator as non member function


#include<iostream>
using namespace std;
class addition
{
private:int num1, num2;
public:void getdata();
 friend addition operator+( addition, addition);
 void display();
};
void addition::getdata()
{
cout<<"Enter Two Numbers :\n ";
cin>>num1>>num2;
}
void addition::display()
{
cout<<"numl value is :"<<num1<<endl;
 cout<<"num2 value is :"<<num2<<endl;
}
addition operator+( addition a1, addition a2)
{
addition a;
a.num1=a1.num1+a2.num1;
a.num2=a1.num2+a2.num2;
return a;
}
int main()
{
addition c1,c2, sum;
c1.getdata();
c2.getdata();
sum = c1+c2;
cout<<"Addition of two objects Numbers : \n";
sum.display();
return 0;
}
2. Write a c ++ program to implement the overloading assignment = operator
#include<iostream>

using namespace std;

class A{

private :

int a;

int b;

int c;

public:

void readA(){

cout<<"enter a,b,c values"<<endl;

cin>>a>>b>>c;

}

void displayA(){

cout<<"a="<<a<<endl;

cout<<"b="<<b<<endl;

cout<<"c="<<c<<endl;

}

void operator =(A a11){

a=a11.a;

b=a11.b;

c=a11.c;

}

};

int main(){

A a1,a2;

a1.readA();

a1.displayA();

a2=a1;

a2.displayA();

return 0;

}

Exercise -4 (Inheritance)
1. Write C++ Programs and incorporating various forms of Inheritance
i) Single Inheritance
#include<conio.h>

class Data{

protected:

int a,b;

public:

void readData(){

cout<<"enter value of a,b"<<endl;

cin>>a>>b;

}

void displayData(){

cout<<"Entered Values are:"<<a<<" and "<<b<<endl;

}

};

class Add:public Data{

private:

int c;

public:

void add(){

c=a+b;

cout<<"Sum: "<<c;

}

};

int main(){

clrscr();

Add a1;

a1.readData();

a1.displayData();

a1.add();

getch();

return 0;

}
ii) Hierarchical Inheritance
#include<iostream.h>

#include<conio.h>



class Radius{

public:

int r;

public:

void readRadius(){

cout<<"Enter Radius:"<<endl;

cin>>r;

}

void displayRadius(){

cout<<"Value of Radius: "<<r<<endl;

}

};



class Circle:public Radius{

private:

int area;

public:

void circlearea(){

area=3.14*r*r;

}

void displayarea(){

cout<<"Area of circle is:"<<area<<endl;

}

};



class Sphere:public Radius{

private:

float s;

public:

void spherevolume(){

s=(1.3*3.14* r*r*r);

}

void displayspherevolume(){

cout<<"volume of sphere is:"<<s<<endl;

}

};

class Cylinder:public Radius{

private:

float v1,h;

public:

void readcylindervolume(){

cout<<"enter height of cylinder:"<<endl;

cin>>h;

}

void cylindervolume(){

v1=3.14*r*r*h;

}

void displaycylindervolume(){

cout<<"volume of cylinder is:"<<v1<<endl;

}

};

int main(){

clrscr();

Circle c1;

Sphere s1;

Cylinder y1;

c1.readRadius();

c1.displayRadius();

c1.circlearea();

c1.displayarea();



s1.readRadius();

s1.displayRadius();

s1.spherevolume();

s1.displayspherevolume();



y1.readRadius();

y1.readcylindervolume();

y1.displayRadius();

y1.cylindervolume();

y1.displaycylindervolume();

getch();

return 0;

}
iii) Multiple Inheritances
#include<iostream>
using namespace std;
class student
{
protected:int rno, m1, m2;
public:void getdata()
 {
 cout << "Enter the Roll no :\n";
 cin>>rno;
 cout << "Enter the two marks :\n";
 cin >> m1>>m2;
 }
};
class sports
{
protected:int sm;
public:void sportsmark()
 {
 cout << "Enter the sports mark :";
 cin>>sm;
 }
};
class score : public student, public sports
{
 private:int tot,avg;
 public:void display()
 {
 tot = (m1 + m2 + sm);
 avg = tot / 3;
 cout <<"Roll No : " << rno <<endl;
 cout <<"Total : " << tot <<endl;
 cout <<"Average : " << avg <<endl;
 }
};
int main()
{
 score s;
 s.getdata();
 s.sportsmark();
 s.display();
 return 0;
}

iv) Multi-level inheritance
#include<iostream.h>

#include<conio.h>

class Data{

protected:

int a,b;

public:

void readData(){

cout<<"enter value of a,b"<<endl;

cin>>a>>b;

}

void displayData(){

cout<<"entered values are:"<<a<<" and "<<b<<endl;

}

};

class Sum:public Data{

protected:

int c;

public:

void sum(){

c=a+b;

}

};

class Print:public Sum{

public:

void print(){

cout<<"the sum is:"<<c<<endl;

}

};

int main(){

clrscr();

Print p1;

p1.readData();

p1.displayData();

p1.sum();

p1.print();

getch();

return 0;

}

v) Hybrid inheritance
2. Also illustrate the order of execution of constructors and destructors in inheritance

Exercise -5(Templates, Exception Handling)
1. a)Write a C++ Program to illustrate template class
2. b)Write a Program to illustrate member function templates
3. c) Write a Program for Exception Handling Divide by zero
4. d)Write a Program to rethrow an Exception
Exercise -6

1. Write a C++ program illustrating user defined string processing functions using
pointers (string length, string copy, string concatenation)
#include<iostream>
using namespace std;
int stringLengthCSEA(char *);
void stringCopyCSEA(char *,char *);
void stringConcatenateCSEA(char *,char *);
int main(){
int choice;
int length;
char s[100];
cout<<"enter the string"<<endl;
cin.getline(s,100);
cout<<"the given string is\t"<<s<<endl;
while(1){
cout<<"\n+++++++++++++++++++++++++++"<<endl;
cout<<"String Operations"<<endl;
cout<<"1. String Length"<<endl;
cout<<"2. String xcopying"<<endl;
cout<<"3. String Concatenation"<<endl;
cout<<"4. Exit"<<endl;
cout<<"Enter your choice of oertion"<<endl;
cin>>choice;
switch(choice){
case 1:
length = stringLengthCSEA(s);
cout<<"the length of the string is"<<length<<endl;
break;
case 2: 
char t[100];
stringCopyCSEA(s,t);
cout<<"the copied String is"<<t<<endl;
break;
case 3: char cat[100];
cout<<"enter the string to concatenat"<<endl;
 cin>>cat;
stringConcatenateCSEA(s,cat);
        cout<<"the concatenated string is"<<s<<endl;
        break;
case 4: exit(0);
default:
cout<<"Wring Choice"<<endl;
}
}
}
int stringLengthCSEA(char *ptr){
int len=0;
while(*ptr!='\0'){
len++;
ptr++;
return len; 
void stringCopyCSEA(char *s,char *t){
 while(*s!='\0'){
 *t=*s;
 t++;
 s++; 
*t='\0';
 }
 void stringConcatenateCSEA(char *s,char *cat){ 
while(*s!='\0'){
 s++; 
}
 while(*cat!='\0'){ 
*s=*cat; 
s++; 
cat++;
 } 
*s='\0';
 } 
output : 

2.a) Write a C++ program illustrating Virtual classes

#include<iostream>
using namespace std;
class A{
protected:
int a;
public:
void readA(){
cout<<"Enter  value of a "<<endl;
cin>>a;
}
void displayA(){
cout<<"a="<<a<<endl;
}
};
class B:virtual public A{
protected:
int b;
public:
void readB(){
cout<<"Enter  value of b "<<endl;
cin>>b;
}
void displayB(){
cout<<"b="<<b<<endl;
}
};
class C:virtual public A{
protected:
int c;
public:
void readC(){
cout<<"Enter value  of c "<<endl;
cin>>c;
}
void displayC(){
cout<<"c="<<c<<endl;
}
};
class D:public B,public C{
private:
int d;
public:
void add(){
d=a+b+c;
cout<<"d="<<d<<endl;
}
};
int main(){
D d1;
d1.readA();
d1.readB();
d1.readC();
d1.displayA();
d1.displayB();
d1.displayC();
d1.add();
return 0;
}
output :




2.b) Write a C++ program illustrating virtual functions.
#include<iostream>
using namespace std;
class A{
public:
virtual void print(){
cout<<"Hello am A`s Print method"<<endl;
}
};
class B:public A{
void print(){
cout<<"Hello am B`s Print method"<<endl;
}
};
class C:public A{
void print(){
cout<<"Hello am C`s Print method"<<endl;
}
};
class D:public A{
void print(){
    cout<<"Hello am D`s Print method"<<endl;
}
};
class E:public A{
void print(){
cout<<"Hello am E`s Print method"<<endl;
}
};
int main(){
A a;
B b;
C c;
D d;
E e;
A *r;
r=&c;
r->print();
r=&a;
r->print();
r=&e;
r->print();
r=&b;
r->print();
r=&d;
r->print();
return 0;
}
output :








3. Write C++ program that implement Bubble sort, to sort a given list of integers in ascending order
#include<iostream>
using namespace std;
void bubblee(int [], int);
int main(){
int a[100],n,i;
cout<<"enter the size of the array"<<endl;
cin>>n;
cout<<"enter array elements"<<endl;
for(int i=0;i<n;i++){
cin>>a[i];
}
cout<<"the array elements BEFORE SORTING"<<endl;
for(i=0;i<n;i++){
cout<<"\t"<<a[i];
}
bubblee(a,n);
cout<<"\n the array elements AFTER SORTING using BIUBLLEE SORT"<<endl;
for(i=0;i<n;i++){
cout<<"\t"<<a[i];
}

return 0;
}
void bubblee(int a[100],int n){
for(int i=0;i<n-1;i++){
for(int j=0;j<n-i-1;j++){
if(a[j]>a[j+1]){
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}

output: 









1.write a  program to implenation access scepifer  
#include<iostream>
using namespace std;
class Print{
private:
int a=100;
protected:
int b=200;
public:
int c=300;
public:
void printPrint(){
cout<<"within the class"<<endl;
cout<<c<<endl;
cout<<b<<endl;
cout<<a<<endl;
}
};
class display: public Print{
public:
void displayPrint(){
cout<<"within the child  class"<<endl;
cout<<c<<endl;
cout<<b<<endl;
}
};
int main(){
Print p1;
cout<<p1.c<<endl;
p1.printPrint();
display d1;
d1.displayPrint();
return 0;
}

2. write a c program to implenting friend function 
#include<iostream>
using namespace std;
class Add{
private:
int a,b,c;
public:
void readAdd(){
cout<<"enter a,b values"<<endl;
cin>>a>>b;
}
void add(){
c=a+b;
}
friend void displayAdd(Add);
};
void displayAdd(Add a11){
cout<<"a="<<a11.a<<endl;
cout<<"b="<<a11.b<<endl;
cout<<"c="<<a11.c<<endl;
}
int main(){
Add a1;
a1.readAdd();
a1.add();
displayAdd(a1);
return 0;
}

2. write a c++ program to illustrate pointer 
  2.a)
this pointer using object  

#include<iostream>
using namespace std;
class Complex{
private:
int a;
int b;
public:
void readComplex(){
cout<<"enter a,b values"<<endl;
cin>>a>>b;
}
void displayComplex(){
cout<<"the complex num is"<<endl;
if(b>0){
cout<<a<<"+i"<<b<<endl;
}
else {
cout<<a<<"+i"<<b<<endl;
}
}
Complex operator +(Complex c11){
this->a=a+c11.a;
this->b=b+c11.b;
return *this;
}
};
int main(){
Complex c1,c2,c3;
c1.readComplex();
c2.readComplex();
c1.displayComplex();
c2.displayComplex();
c3=c1+c2;
c3.displayComplex();
return 0;
}
2b) this pointer 
#include<iostream>
using namespace std;
class Add{
private:
int a;
int b;
int c;
public:
void readAdd(int a,int b){
this->a=a;
this->b=b;
}
void displayAdd(){
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
}
void add(){
c=a+b;
cout<<"c="<<c<<endl;
}
};
int main(){
Add al;
al.readAdd(100,100);
al.displayAdd();
al.add();
return 0;
}

3.write a c program to illustrate pointer to a class 
#include<iostream>
using namespace std;
class Add{
int a,b,c;
public:
void readAdd(){
cout<<"enter a,b values"<<endl;
cin>>a>>b;
}
void displayAdd(){
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
}
void add(){
c=a+b;
cout<<"c="<<c<<endl;
}
};
int main(){
Add a1;
a1.readAdd();
a1.displayAdd();
a1.add();
Add *pa1;
pa1=&a1;
pa1->readAdd();
pa1->displayAdd();
pa1->add();
(*pa1).readAdd();
(*pa1).displayAdd();
(*pa1).add();
return 0;
}



------------------------------------------------------------------------------------------------------------------
1. Write a main function to create objects of DISTANCE class. Input two distances and
output the sum.
#include<iostream>
using namespace std;
class Distance{ 
    private:
    int feet,inch;
    public:
    void readDistance(){
        cout<<"enter distance in feet and inches"<<endl;
        cin>>feet>>inch;
    }
    void displayDistance(){
        cout<<"the distance is"<<endl;
        cout<<feet<<"feet"<<inch<<"inch"<<endl;
    }
    void addDistance(Distance d1,Distance d2){
        feet=d1.feet+d2.feet;
        inch=d1.inch+d2.inch;
        if(inch>12){
        feet=d1.feet+d2.feet+(inch/12);
        inch=inch%12;
    }
}
};
int main(){
    Distance d1,d2,d3;
    d1.readDistance();
    d2.readDistance();
    d1.displayDistance();
    d2.displayDistance();
    d3.addDistance(d1,d2);
    d3.displayDistance();
    return 0;
    
}

2. Write a C++ Program to illustrate the use of Constructors and Destructors (use the
above program.)
#include<iostream>

using namespace std;

class Distance{ 

    private:

    int feet,inch;

    public:

    Distance(){

        feet=10;

        inch=10;

        }

    Distance(int feet1,int inch1){

        feet=feet1;

        inch=inch1;

    }

   ~Distance(){

        cout<<"destructor called"<<endl;

    }

    void displayDistance(){

        cout<<"the distance is"<<endl;

        cout<<feet<<"feet"<<inch<<"inch"<<endl;

    }

    void addDistance(Distance d1,Distance d2){

        feet=d1.feet+d2.feet;

        inch=d1.inch+d2.inch;

        if(inch>12){

        feet=d1.feet+d2.feet+(inch/12);

        inch=inch%12;

    }

}

};

int main(){

    Distance d1,d2(20,20),d3;

    d1.displayDistance();

    d2.displayDistance();

    d3.addDistance(d1,d2);

    d3.displayDistance();

    return 0;

    

}

3. Write a program for illustrating function overloading in adding the distance between

objects (use the above problem)

#include<iostream>

using namespace std;

class Distance{ 

    private:

    int feet,inch;

    public:

    Distance(){

        feet=10;

        inch=10;

        }

    Distance(int feet1,int inch1){

        feet=feet1;

        inch=inch1;

    }

   ~Distance(){

        cout<<"destructor called"<<endl;

    }

    void displayDistance(){

        cout<<"the distance is"<<endl;

        cout<<feet<<"feet"<<inch<<"inch"<<endl;

    }

    void addDistance(Distance d1,Distance d2){

        feet=d1.feet+d2.feet;

        inch=d1.inch+d2.inch;

        if(inch>12){

        feet=d1.feet+d2.feet+(inch/12);

        inch=inch%12;

    }

    }

    void addDistance(int feetq,int inchq){

        feet=feet+feetq;

        inch=inchq+inch;

        if(inch>12){

        feet=feet+(inch/12);

        inch=inch%12;

    }

}

};

int main(){

    Distance d1,d2(20,20),d3,d4(15,15);

    d1.displayDistance();

    d2.displayDistance();

    d3.addDistance(d1,d2);

    d4.addDistance(30,30);

    d3.displayDistance();

    d4.displayDistance();

    return 0;

    

}

22/12/2021


1.pre increment 

#include<iostream>

using namespace std;

class A{

private :

int a;

int b;

int c;

public:

void readA(){

cout<<"enter a,b,c values"<<endl;

cin>>a>>b>>c;

}

void displayA(){

cout<<"a="<<a<<endl;

cout<<"b="<<b<<endl;

cout<<"c="<<c<<endl;

}

void operator ++(){

++a;

++b;

++c;

}

};

int main(){

A a1;

a1.readA();

a1.displayA();

++a1;

a1.displayA();

return 0;

}

2. post increment 

#include<iostream>

using namespace std;

class A{

private :

int a;

int b;

int c;

public:

void readA(){

cout<<"enter a,b,c values"<<endl;

cin>>a>>b>>c;

}

void displayA(){

cout<<"a="<<a<<endl;

cout<<"b="<<b<<endl;

cout<<"c="<<c<<endl;

}

void operator ++(int i){

a++;

b++;

c++;

}

};

int main(){

A a1;

a1.readA();

a1.displayA();

a1++;

a1.displayA();

return 0;

}

3.pre decrement 

#include<iostream>

using namespace std;

class A{

private :

int a;

int b;

int c;

public:

void readA(){

cout<<"enter a,b,c values"<<endl;

cin>>a>>b>>c;

}

void displayA(){

cout<<"a="<<a<<endl;

cout<<"b="<<b<<endl;

cout<<"c="<<c<<endl;

}

void operator --(){

--a;

--b;

--c;

}

};


int main(){

A a1;

a1.readA();

a1.displayA();

--a1;

a1.displayA();

return 0;

}

4.post decrement

#include<iostream>

using namespace std;

class A{

private :

int a;

int b;

int c;

public:

void readA(){

cout<<"enter a,b,c values"<<endl;

cin>>a>>b>>c;

}

void displayA(){

cout<<"a="<<a<<endl;

cout<<"b="<<b<<endl;

cout<<"c="<<c<<endl;

}

void operator --(int i){

a--;

b--;

c--;

}

};

int main(){

A a1;

a1.readA();

a1.displayA();

a1--;

a1.displayA();

return 0;

}

5.pre and post increment

#include<iostream>

using namespace std;

class A{

private :

int a;

int b;

int c;

public:

void readA(){

cout<<"enter a,b,c values"<<endl;

cin>>a>>b>>c;

}

void displayA(){

cout<<"a="<<a<<endl;

cout<<"b="<<b<<endl;

cout<<"c="<<c<<endl;

}

void operator ++(){

++a;

++b;

++c;

}

void operator ++(int i){

a++;

b++;

c++;

}

};

int main(){

A a1;

a1.readA();

a1.displayA();

++a1;

a1.displayA();

a1++;

return 0;

}

6.pre and post decrement

#include<iostream>

using namespace std;

class A{

private :

int a;

int b;

int c;

public:

void readA(){

cout<<"enter a,b,c values"<<endl;

cin>>a>>b>>c;

}

void displayA(){

cout<<"a="<<a<<endl;

cout<<"b="<<b<<endl;

cout<<"c="<<c<<endl;

}

void operator --(){

--a;

--b;

--c;

}

void operator --(int i){

a--;

b--;

c--;

}

};

int main(){

A a1;

a1.readA();

a1.displayA();

--a1;

a1.displayA();

a1--;

return 0;

}

7.pre post increment and pre post decrement

#include<iostream>

using namespace std;

class A{

private :

int a;

int b;

int c;

public:

void readA(){

cout<<"enter a,b,c values"<<endl;

cin>>a>>b>>c;

}

void displayA(){

cout<<"a="<<a<<endl;

cout<<"b="<<b<<endl;

cout<<"c="<<c<<endl;

}

void operator ++(){

++a;

++b;

++c;

}

void operator ++(int i){

a++;

b++;

c++;

}

void operator --(){

--a;

--b;

--c;

}

void operator --(int i){

a--;

b--;

c--;

}

};

int main(){

A a1;

a1.readA();

a1.displayA();

++a1;

a1.displayA();

a1++;

a1.displayA();

a1--;

a1.displayA();

--a1;

a1.displayA();

return 0;

}

8. assignment operator overloading

#include<iostream>

using namespace std;

class A{

private :

int a;

int b;

int c;

public:

void readA(){

cout<<"enter a,b,c values"<<endl;

cin>>a>>b>>c;

}

void displayA(){

cout<<"a="<<a<<endl;

cout<<"b="<<b<<endl;

cout<<"c="<<c<<endl;

}

void operator =(A a11){

a=a11.a;

b=a11.b;

c=a11.c;

}

};

int main(){

A a1,a2;

a1.readA();

a1.displayA();

a2=a1;

a2.displayA();

return 0;

}

                                                                                                                                                                      

practice programs for lab :

single inheritance

#include<conio.h>

class Data{

protected:

int a,b;

public:

void readData(){

cout<<"enter value of a,b"<<endl;

cin>>a>>b;

}

void displayData(){

cout<<"Entered Values are:"<<a<<" and "<<b<<endl;

}

};

class Add:public Data{

private:

int c;

public:

void add(){

c=a+b;

cout<<"Sum: "<<c;

}

};

int main(){

clrscr();

Add a1;

a1.readData();

a1.displayData();

a1.add();

getch();

return 0;

}

Multilevel hertiance 

#include<iostream.h>

#include<conio.h>

class Data{

protected:

int a,b;

public:

void readData(){

cout<<"enter value of a,b"<<endl;

cin>>a>>b;

}

void displayData(){

cout<<"entered values are:"<<a<<" and "<<b<<endl;

}

};

class Sum:public Data{

protected:

int c;

public:

void sum(){

c=a+b;

}

};

class Print:public Sum{

public:

void print(){

cout<<"the sum is:"<<c<<endl;

}

};

int main(){

clrscr();

Print p1;

p1.readData();

p1.displayData();

p1.sum();

p1.print();

getch();

return 0;

}

Hierarchical  inheritance

#include<iostream.h>

#include<conio.h>


class Radius{

public:

int r;

public:

void readRadius(){

cout<<"Enter Radius:"<<endl;

cin>>r;

}

void displayRadius(){

cout<<"Value of Radius: "<<r<<endl;

}

};


class Circle:public Radius{

private:

int area;

public:

void circlearea(){

area=3.14*r*r;

}

void displayarea(){

cout<<"Area of circle is:"<<area<<endl;

}

};


class Sphere:public Radius{

private:

float s;

public:

void spherevolume(){

s=(1.3*3.14* r*r*r);

}

void displayspherevolume(){

cout<<"volume of sphere is:"<<s<<endl;

}

};

class Cylinder:public Radius{

private:

float v1,h;

public:

void readcylindervolume(){

cout<<"enter height of cylinder:"<<endl;

cin>>h;

}

void cylindervolume(){

v1=3.14*r*r*h;

}

void displaycylindervolume(){

cout<<"volume of cylinder is:"<<v1<<endl;

}

};

int main(){

clrscr();

Circle c1;

Sphere s1;

Cylinder y1;

c1.readRadius();

c1.displayRadius();

c1.circlearea();

c1.displayarea();


s1.readRadius();

s1.displayRadius();

s1.spherevolume();

s1.displayspherevolume();


y1.readRadius();

y1.readcylindervolume();

y1.displayRadius();

y1.cylindervolume();

y1.displaycylindervolume();

getch();

return 0;

}

6. 

 #include<iostream>

using namespace std;

class Area{

    private:

    int l,b,ar;

    public:

    Area(){

    cout<<"enter l,b values";

    cin>>l>>b;

    }

    void area(){

        ar=l*b;

    }

    void displayArea(){

        cout<<"area of rectangle is"<<ar<<endl;

    }

    };

    int main(){

        Area a1;

        a1.area();

        a1.displayArea();

        return 0;

    }

7. #include<iostream>

using namespace std;

class Area{

    private:

    int l,b,ar;

    public:

    Area(int x,int y){

        l=x;

        b=y;

    }

    void area(){

        ar=l*b;

    }

    void displayArea(){

        cout<<"area of rectangle is"<<ar<<endl;

    }

    };

    int main(){

        Area a1(2,8);

        a1.area();

        a1.displayArea();

        return 0;

    }


6. #include<iostream>

using namespace std;

class Area{

    private:

    int l,b,ar;

    public:

    Area(){

    cout<<"enter l,b values";

    cin>>l>>b;

    }

    void area(){

        ar=l*b;

    }

    void displayArea(){

        cout<<"area of rectangle is"<<ar<<endl;

    }

    };

    int main(){

        Area a1;

        a1.area();

        a1.displayArea();

        return 0;

    }

5 . 


#include<iostream>

using namespace std;

class Area{

    private:

    int l,b,ar;

    public:

    void area(){

        cout<<"area()";

        int l=2,b=9,a;

        a=l*b;

        cout<<a;

    }

    void area(int l){

        cout<<"area(int l)";

        int a=l*l;

        cout<<a;

    }

    void area(int l,int b){

        cout<<"area(int l,int b)";

        int a=l*b;

        cout<<a;

    }

    };

    int main(){

        Area a1;

        a1.area();

        a1.area(50);

        a1.area(50,56);

        return 0;

    }

4.

 #include<iostream.h>

#include<conio.h>


class Add{

private:int a,b,c;


public:Add(){

cout<<"Enter the values of a,b";

cin>>a>>b;

}




void add(){

c=a*b;

}

void displayAdd(){

cout<<c;

}

};


int main()

{

clrscr();


Add a1;

cout<<endl;

a1.add();

a1.displayAdd();

cout<<endl;

Add a2;

a2.add();


cout<<endl;

a2.displayAdd();

getch();

return 0;


}


Previous Post Next Post