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; }
Markdown for AI
A clean, structured version of this page for AI assistants and LLMs.
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;
}