运行时多态和虚函数

class A
{
	public:
		virtual std::string tostring(){ return "A";}
}
class A{
	public:
		virtual std::string tostring(){
		return "A";	} };
class B:public A{
	public:
	     std::string tostring(){
	     return "B";}};
class C:public B{
	public:
		std::string tostring(){
		return "C";};
void print(A* p)
{
cout<<p->tostring()<<endl;
}
int main()
{
	A a{};  	B b{}; C  c{};
	print(&a);
	print(&b);
	print(&c);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41932111/article/details/89647311