class base{ public: int i; base(int x){int x;} virtual void func() { cout<<"Using base version of func():"; cout<<i<<'\n'; } }; class derived1: public base{ public: derived1(int x);base(x) { } void func() { cout<<" Using derived1's version of func():"; cout<<i*i<<'\n'; } }; class derived2:public base{ derived2(int x):base(x){ } void func() { cout<<"Using derived2's version of func():"; cout<<i+i<<'\n'; } }; int main() { base *p; derived1 d_ob1(10); derived2 d_ob2(10); int i,j; for(i=0;i<10;i++) { j=rand( ); if((j%2)) p = &d_ob2; p->func( ); } return 0; }
Join MindStick Community
You need to log in or register to vote on answers or questions.
We use cookies to ensure you have the best browsing experience on our website. By using our site, you
acknowledge that you have read and understood our
Cookie Policy &
Privacy Policy.
class base{public:
int i;
base(int x){int x;}
virtual void func()
{
cout<<"Using base version of func():";
cout<<i<<'\n';
}
};
class derived1: public base{
public:
derived1(int x);base(x) { }
void func()
{
cout<<" Using derived1's version of func():";
cout<<i*i<<'\n';
}
};
class derived2:public base{
derived2(int x):base(x){ }
void func()
{
cout<<"Using derived2's version of func():";
cout<<i+i<<'\n';
}
};
int main()
{
base *p;
derived1 d_ob1(10);
derived2 d_ob2(10);
int i,j;
for(i=0;i<10;i++)
{
j=rand( );
if((j%2)) p = &d_ob2;
p->func( );
}
return 0;
}