-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.
第一:
赋值兼容性原则
子类对象可以当作父类对象使用
子类对象可以直接赋值给父类对象
子类对象可以直接初始化父类对象
父类指针可以直接指向子类对象
父类引用可以直接引用子类对象
子类是就是特殊的父类!!!
#include <cstdlib>
#include <iostream>
using namespace std;
class Parent//定义父类
{
protected:
const char* name;
public:
Parent()//构造函数 赋值
{
name = "Parent";
}
void print()
{
cout<<"Name: "<<name<<endl;
}
};
class Child : public Parent //定义子类
{
protected:
int i;
public:
Child(int i)
{
this->name = "Child";//继承来的name 赋值
this->i = i;
}
};
int main(int argc, char *argv[])
{
Child child(1000); //定义子类对象child
Parent parent = child;//用子类对象初始化父类对象
Parent* pp = &child; //父类指针指向子类对象
Parent& rp = child; //父类引用子类对象
parent.print();
pp->print();
rp.print();
cout << "Press the enter key to continue ...";
cin.get();
return EXIT_SUCCESS;
}