【C++基础】将派生类赋值给基类(向上转型)

目录

1、将派生类对象赋值给基类对象

2、将派生类指针赋值给基类指针

3、将派生类引用赋值给基类指针


1、将派生类对象赋值给基类对象

不可逆转,且仅是对象间的成员变量进行赋值,而成员函数不存在赋值问题。

  • 派生类对象赋值给基类对象时,会舍弃新增的成员变量。

  • 一个基类的多个派生类不能相互赋值。

2、将派生类指针赋值给基类指针

  • 将派生类指针赋给基类指针时,基类指针只能使用派生类的成员变量,而不能使用派生类的成员函数。

  • 编译器通过指针来访问成员变量,指针指向哪个对象就是用哪个对象的成员变量;编译器通过指针类型来访问成员函数,指针属于哪个类的类型就使用哪个类的成员函数。

3、将派生类引用赋值给基类指针

  • 跟指针情况类似

注意:向上转型后通过基类的对象、指针、引用,只能访问从基类继承过去的成员(包括成员变量和成员函数),不能访问派生类的新增成员。

你可能感兴趣的:(C++学习,c++,开发语言)