#include<iostream>
using namespace std;
class BC
{
public:
int b;
virtual void show()
{
cout<<"b="<<b<<"\n";
}
};
class DC :public BC
{
public:
int d;
void show()
{
cout<<"b="<<b<<"\n";
cout<<"d="<<d<<"\n";
}
};
int main()
{
BC *bptr;
BC bobj;
bptr=&bobj;
bptr->b=100;
bptr->show();
DC dobj;
bptr=&dobj;
bptr->b=200;
// bptr->d=300;//invalid
bptr->show();
DC *dptr;
dptr=&dobj;
dptr->show();
dptr->d=300;
//dptr->b=200;
dptr->show();
}
#include<iostream>
using namespace std;
class Base
{
int x;
public:
virtual void fun() = 0; //pure virtual function
int getX() { return x; }
};
// This class inherits from Base and implements fun()
class Derived: public Base
{
int y;
public:
void fun() { cout << "fun() called by derieved class"; }
};
int main(void)
{
Derived d;
d.fun();
// Base B;
// B.fun();
return 0;
}
#include <iostream>
using namespace std;
// Abstract class
class Shape {
protected:
float dimension;
public:
void getDimension() {
cin >> dimension;
}
// pure virtual Function
virtual float calculateArea() = 0;
};
// Derived class
class Square : public Shape {
public:
float calculateArea() {
return dimension * dimension;
}
};
// Derived class
class Circle : public Shape {
public:
float calculateArea() {
return 3.14 * dimension * dimension;
}
};
int main() {
Square square;
Circle circle;
Shape *ptr;
ptr=□
cout << "Enter the length of the square: ";
ptr->getDimension();
cout << "Area of square: " << ptr->calculateArea() << endl;
ptr=&circle;
cout << "\nEnter radius of the circle: ";
ptr->getDimension();
cout << "Area of circle: " << ptr->calculateArea() << endl;
return 0;
}
#include<iostream>
using namespace std;
class b
{
public:
void display()
{
cout<<"I am inside base class display function\n";
}
virtual void output();
{
cout<<"I am in side base class output function\n";
}
};
class d1 :public b
{
public:
void display()
{
cout<<"I am inside derieved d1 class display function\n";
}
virtual void output()=0;
/*{
cout<<"I am in side derieved d1 class output function\n";
}*/
};
class d2 :public d1
{
public:
void display()
{
cout<<"I am inside derieved d2 class display function\n";
}
void output(){
cout<<"I am in side derieved d2 class output function\n";
}
};
int main()
{
b *bptr;//valid
b obj1;//invalid because we cannot create obj1 of class which has pure virtual
d1 obj2;
d2 obj3;
bptr=&obj1;
bptr->display();// base class display();
bptr->output();//base class output();
bptr=&obj2;
bptr->display();//base class display();
bptr->output(); // d1's output()
bptr=&obj3;
bptr->display();//base class display();
bptr->output();//d2's output();
}
#include<iostream>
using namespace std;
class b
{
public:
void display()
{
cout<<"I am inside base class display function\n";
}
virtual void output()
{
cout<<"I am in side base class output function\n";
}
};
class d1 :public b
{
public:
void display()
{
cout<<"I am inside derieved d1 class display function\n";
}
void output(){
cout<<"I am in side derieved d1 class output function\n";
}
};
class d2 :public d1
{
public:
void display()
{
cout<<"I am inside derieved d2 class display function\n";
}
void output(){
cout<<"I am in side derieved d2 class output function\n";
}
};
int main()
{
b *bptr;//valid
b obj1;//invalid because we cannot create obj1 of class which has pure virtual
d1 obj2;
d2 obj3;
bptr=&obj1;
bptr->display();// base class display();
bptr->output();//base class output();
bptr=&obj2;
bptr->display();//base class display();
bptr->output(); // d1's output()
bptr=&obj3;
bptr->display();//base class display();
bptr->output();//d2's output();
}
#include<iostream>
using namespace std;
class b
{
public:
void display()
{
cout<<"I am inside base class display function\n";
}
void output(){
cout<<"I am in side base class output function\n";
}
};
class d1 :public b
{
public:
void display()
{
cout<<"I am inside derieved d1 class display function\n";
}
virtual void output(){
cout<<"I am in side derieved d1 class output function\n";
}
};
class d2 :public d1
{
public:
void display()
{
cout<<"I am inside derieved d2 class display function\n";
}
void output(){
cout<<"I am in side derieved d2 class output function\n";
}
};
int main()
{
b *bptr;
b obj1;
d1 obj2;
d2 obj3;
bptr=&obj1;
bptr->display();// base class display();
bptr->output();//base class output();
bptr=&obj2;
bptr->display();//base class display();
bptr->output(); //base class output()
bptr=&obj3;
bptr->display();//base class display();
bptr->output();//base class output();
d1 *dptr;
//dptr=&obj1;//invalid
dptr=&obj2;
dptr->display();// d1's
dptr->output(); //d1's
dptr=&obj3;
dptr->display();// d1's
dptr->output(); // d2's
}