c++继承赋值兼容
其实还是不明白,红色部分,,,求解
#include <iostream>
#include <time.h>
using namespace std;
class B0
{
public:
void display()
{
cout<<"B0::display()"<<endl;
}
};
class B1:public B0
{
public:
void display()
{
cout<<"B1::display()"<<endl;
}
};
class B2:public B0
{
public:
void display()
{
cout<<"B2::display()"<<endl;
}
};
void fun(B0 *ptr)
{
ptr->display();
}
int main()
{
B0 b0;
B1 b1;
B2 b2;
fun(&b0);
fun(&b1);
fun(&b2);
return 0;
}
输出结果都是B0.....
b0=b1;
b0=b2;
结果都是一样的;
想要改变,就要用虚函数或者不要用指针
#include <iostream>
#include <time.h>
using namespace std;
class B0
{
public:
void display()
{
cout<<"B0::display()"<<endl;
}
};
class B1:public B0
{
public:
void display()
{
cout<<"B1::display()"<<endl;
}
};
class B2:public B0
{
public:
void display()
{
cout<<"B2::display()"<<endl;
}
};
int main()
{
B0 b0;
B1 b1;
B2 b2;
b0.display();
b1.display();
b2.display();
b2.B0::display();
return 0;
}
- C++学习之赋值兼容规则以及在私有、保护继承下的强制转换
- C++中的继承(3)作用域与重定义,赋值兼容规则
- C++中的继承(3)作用域与重定义,赋值兼容规则
- c++访问修饰符_继承_赋值兼容_多态初探
- C++学习笔记--继承的赋值兼容和函数重写
- 【继承与多态】C++:继承中的赋值兼容规则,子类的成员函数,虚函数(重写),多态
- 【继承与多态】C++:继承中的赋值兼容规则,子类的成员函数,虚函数(重写),多态
- C++在单继承、多继承、虚继承时,复制构造函数。赋值构造函数、析构函数的执行顺序
- C++在单继承、多继承、虚继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容
- C++在单继承、多继承、虚继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容
- C++对C的兼容和继承
- C++在单继承、多继承、虚继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容
- C++在单继承、多继承、虚继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容
- 鸡啄米:C++编程入门系列之四十三(继承与派生:赋值兼容规则)
- C++在单继承、多继承、虚继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容
- 赋值兼容规则——学习c++笔记
- C++在单继承、多继承、虚继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容
- C++在单继承、多继承、虚继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容 【转】 参考度4.6星
- C++在单继承、多继承、虚继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容
- 继承中的支配规则和赋值兼容规则