#include<iostream>
#include<cstring>
class Base
{
char* base;
public:
Base()
{
base = new char[2];
strcpy(base, "1");
cout << "2";
}
~Base()
{
delete[]base;
cout << "3";
}
void Print()
{
cout << base;
}
};
class Derived :public Base
{
char* derived;
public:
Derived()
{
derived = new char[2];
strcpy(derived, "4");
cout <<"5";
}
~Derived()
{
delete[]derived;
cout << "6";
}
void Print()
{
cout << derived;
}
};
int main()
{
Base* ptr = new Derived;
ptr->Print();
delete ptr;
return 0;
}
答案是2513
ptr->Print(); 这里调用的为什么是基类中的函数呢?(输出的是1)
麻烦各位看看 谢谢!!
虚函数才是动态绑定。基类的print定义成虚函数
virtual