1、子类对象可以当作父类对象使用
2、子类对象可以直接赋值给父类对象
3、子类对象可以直接初始化父类对象
4、父类指针可以直接指向子类对象
5、父类引用可以直接引用子类对象
#include <iostream>
using namespace std;
/*
1、子类对象可以当作父类对象使用
2、子类对象可以直接赋值给父类对象
3、子类对象可以直接初始化父类对象
4、父类指针可以直接指向子类对象
5、父类引用可以直接引用子类对象
*/
class Parent
{
public:
void printP()
{
cout << "a = " << this->a << endl;
}
int a;
};
class Child: public Parent
{
public:
void printC()
{
cout << "b = " << this->b << endl;
}
int b;
};
void myPrint(Parent *pp)
{
Child c;
pp = &c;
pp->printP();
}
int main()
{
Child c;
Parent p = c; // 3 初始化
Parent p1;
p1 = c; // 2 赋值
Parent *pp = NULL;
Child *cp = NULL;
Parent p2;
Child c2;
//cp = &p2; // 子类指针不能指向父类对象
pp = &c2; // 4 父类指针指向子类对象
return 0;
}