这里写目录标题
- public继承的派生类对象可以赋值给基类的对象/指针/引用,可以理解成切片,把基类的那部分切下来赋值给基类

- 基类对象不能赋值给派生类对象,派生类可以赋值给基类,基类的拷贝构造——>派生类的默认成员函数
- 基类的指针或引用可以通过强制类型转换赋值给派生类指针或引用,基类必须是指向派生类对象的
class Person
{
protected:
string _name = "张三"; // 姓名
int _age = 18; // 年龄
};
class Student : public Person
{
protected:
int _stuid; // 学号
};
int main()
{
//派生类对象赋值给基类的指针和引用,切片
Student sobj;
Person* pp = &sobj;
Person& rp = sobj;
//派生类赋值给基类,基类的拷贝构造,看下一篇
Person pobj = sobj;
//基类赋值给派生类,报错
sobj = pobj;
return 0;
}
2355

被折叠的 条评论
为什么被折叠?



