继承中,
- 派生类的对象是基类对象,基类对象不是派生类对象
- 派生类可以直接赋值给基类,反向赋值是不允许的
- 不是同一类型的类不可以转换
代码学习:
#include<iostream> using namespace std; class A{ int a; public: A(){ a = 2; cout << a << endl; } }; class B:public A{ int b; public: B(){ b = 10; cout << b<< endl; } }; class M{ }; int main(){ A a; B b; a = b;//派生类的对象是基类对象, M m;//派生类可以直接赋值给基类,但是反过来不行。 //m = a;//类型不一致不可以相互转换 //b = a;//基类对象不是派生类对象 }