C++中,每个派生类对象都包含基类部分,所以可以将基类类型的引用绑定到派生类对象的基类部分,也可以用指向基类类型的指针指向派生类对象:
#if 1
#include <iostream>
#include <string>
using namespace std;
class Stu
{
public:
Stu(const int num, const string& na): number(num), name(na){}
~Stu()
{}
private:
int number;
string name;
};
class Graduate : public Stu
{
public:
Graduate(const int num, const string& na, const int ag):Stu(num, na), age(ag){}
~Graduate()
{}
private:
int age;
};
int main()
{
int number = 1001;
string aa("ddd");
Stu stud(1001, "ding");
Stu *student = &stud;
Graduate gra(1001,"wei", 20);
student = &gra;
}
#endif