#include<iostream.h>
class A
{
public:
virtual void print(){cout<<"This is A"<<endl;}
};
class B:public A
{
public:
virtual void print(){cout<<"This is B"<<endl;}
};
class C:public A
{
public:
virtual void print(){cout<<"This is C"<<endl;}
};
void fn(A &s)
{
s.print();
}
void main()
{
A a,*p;
B b;
C c;
cout<<"通过函数的调用 print():"<<endl;
a.print();b.print();c.print();
cout<<"通过函数的调用 print():"<<endl;
fn(a);fn(b);fn(c);
cout<<"通过指向对象的指针调用 print();"<<endl;
p=&a;p->print();
p=&b;p->print();
p=&c;p->print();
cout<<endl;
}
class A
{
public:
virtual void print(){cout<<"This is A"<<endl;}
};
class B:public A
{
public:
virtual void print(){cout<<"This is B"<<endl;}
};
class C:public A
{
public:
virtual void print(){cout<<"This is C"<<endl;}
};
void fn(A &s)
{
s.print();
}
void main()
{
A a,*p;
B b;
C c;
cout<<"通过函数的调用 print():"<<endl;
a.print();b.print();c.print();
cout<<"通过函数的调用 print():"<<endl;
fn(a);fn(b);fn(c);
cout<<"通过指向对象的指针调用 print();"<<endl;
p=&a;p->print();
p=&b;p->print();
p=&c;p->print();
cout<<endl;
}