C++_Practicals solution_12_13
C++_Practicals solution_12_13
#include<iostream.h>
#include<conio.h>
class A
{
public:
int a,b;
void getdata()
{
cout<<"Enter a:";
cin>>a;
cout<<"Enter b:";
cin>>b;
}
};
class B:public A
{
public:
int c;
void sum()
{
c=a+b;
cout<<"sum="<<c;
}
};
int main()
{
clrscr();
B b1;
b1.getdata();
b1.sum();
getch();
return 0;
}
#include<iostream.h>
#include<conio.h>
class A
{
public:
int a;
void getA()
{
cout<<"Enter a:";
cin>>a;
}
};
class B:public A
{
public:
int b;
void getB()
{
cout<<"Enter b:";
cin>>b;
}
};
class C:public B
{
public:
int c;
void sum()
{
c=a+b;
cout<<"sum="<<c;
}
};
int main()
{
clrscr();
C c1;
c1.getA();
c1.getB();
c1.sum();
getch();
return 0;
}
12.3 Multiple inheritance
#include<iostream.h>
#include<conio.h>
class A
{
public:
int a;
void getA()
{
cout<<"Enter a:";
cin>>a;
}
};
class B
{
public:
int b;
void getB()
{
cout<<"Enter b:";
cin>>b;
}
};
class C:public A, public B
{
public:
int c;
void sum()
{
c=a+b;
cout<<"sum="<<c;
}
};
int main()
{
clrscr();
C c1;
c1.getA( );
c1.getB( );
c1.sum( );
getch( );
return 0;
}
#include<iostream.h>
#include<conio.h>
class A
{
public:
int a,b;
void getdata()
{
cout<<"Enter a:";
cin>>a;
cout<<"Enter b:";
cin>>b;
}
};
class B:public A
{
public:
int c;
void sum()
{
c=a+b;
cout<<"sum:"<<c<<endl;
}
};
class C:public A
{
public:
int c;
void mul()
{
c=a*b;
cout<<"Mul="<<c;
}
};
int main()
{
clrscr();
B b1;
b1.getdata();
b1.sum();
C c1;
c1.getdata();
c1.mul();
getch();
return 0;
}
#include<iostream.h>
#include<conio.h>
class A
{
public:
int a,b;
void getdata()
{
cout<<"Enter a:";
cin>>a;
cout<<"Enter b:";
cin>>b;
}
};
class B: virtual public A
{
public:
int c;
void sum()
{
c=a+b;
}
};
class C: virtual public A
{
public:
int d;
void mul()
{
d=a*b;
}
};
class D: public B, public C
{
public:
void putdata()
{
cout<<"sum:"<<c<<endl;
cout<<"Mul:"<<d;
}
};
int main()
{
clrscr();
D d1;
d1.getdata();
d1.sum();
d1.mul();
d1.putdata();
getch();
return 0;
}
#include<iostream.h>
#include<conio.h>
class A
{
public:
int a;
A(int x)
{
a=x;
}
};
class B: public A
{
public:
int b,c;
B(int x,int y):A(x)
{
b=y;
}
void sum()
{
c=a+b;
cout<<"sum="<<c;
}
};
int main()
{
clrscr();
B b1(10,20);
b1.sum();
getch();
return 0;
}
#include<iostream.h>
#include<conio.h>
class A
{
public:
void show()
{
cout<<"Base Class";
}
};
class B: public A
{
public:
void show()
{
cout<<"Derived Class";
}
};
int main()
{
clrscr();
B b1;
b1.show();
getch();
return 0;
}
#include<iostream.h>
#include<conio.h>
class A
{
public:
virtual void show()
{
cout<<"Base Class"<<endl;
}
};
class B: public A
{
public:
void show()
{
cout<<"Derived Class";
}
};
int main()
{
clrscr();
A *ptr;
A a1;
B b1;
ptr=&a1;
ptr->show();
ptr=&b1;
ptr->show();
getch();
return 0;
}
#include<iostream.h>
#include<conio.h>
class Base
{
public:
virtual void show()=0;
};
class D1: public Base
{
public:
void show()
{
cout<<"Derived1 Class"<<endl;
}
};
class D2: public Base
{
public:
void show()
{
cout<<"Derived2 Class";
}
};
int main()
{
clrscr();
Base *ptr;
D1 d1;
D2 d2;
ptr=&d1;
ptr->show();
ptr=&d2;
ptr->show();
getch();
return 0;
}
13 Develop programs using pointer to derived classes.
#include<iostream.h>
#include<conio.h>
#include<string.h>
class student
{
int no;
char name[15];
public:
void getdata(int n,char nm[])
{
no=n;
strcpy(name,nm);
}
void putdata()
{
cout<<"No="<<no<<endl;
cout<<"Name="<<name;
}
};
int main()
{
clrscr();
student s;
student *s1;
s1=&s;
s1->getdata(1,"xyz");
s1->putdata();
getch();
return 0;
}
#include<iostream.h>
#include<conio.h>
class Base
{
public:
void show()
{
cout<<"Base Class"<<endl;
}
};
class Derived: public Base
{
public:
void show()
{
cout<<"Derived Class";
}
};
int main()
{
clrscr();
Derived *dptr;
Derived d1;
dptr=&d1;
dptr->show();
getch();
return 0;
}