C++派生类与基类的赋值
来源:互联网 发布:中软博通软件 上海 编辑:程序博客网 时间:2024/05/29 17:28
class A{
A& operator =(const A&){}
};
class B:A{
B& operator=(const &B){}
};
void main()
{
A a;
B b;
a=b;//正确
b=a;//错误
}
可以把派生类赋值给基类。我们知道赋值,是调用了类的赋值运算符。所以当派生类给基类赋值时,调用了基类的复制运算符函数,该函数的参数是基类对象的const 引用,那么
a=b,实际就是用基类引用派生类,然后将派生类中基类部分赋值给对应的基类成员。
而b=a报错是因为派生类不能引用基类。
NOTE:基类可以引用或指针绑定到派生类。因为派生类在构造的时候,会先构造基类部分,所以派生类对象中包含基类对象,那么基类就可以通过引用或指针动态的绑定到派生类对象中的基类部分,反之则不行,因为基类中可能没有派生类自定义的成员。
0 0
- 基类与派生类的赋值
- C++派生类与基类的赋值
- 派生类的复制构造函数与赋值运算符
- 派生类的拷贝构造 与 赋值重载
- 派生类的赋值运算符也必须处理它的基类成员的赋值(源自effictive c++)
- 对基类与派生类对象和指针赋值的小结
- C++ 基类与派生类之间的相互引用、赋值问题
- 基类与派生类对象和指针赋值的小结
- 与基类对象和派生类对象相关的赋值兼容问题
- 【总结】C++基类与派生类的赋值兼容规则
- 对基类与派生类对象和指针赋值的小结
- 对基类与派生类对象和指针赋值的小结
- 基类和派生类对象之间的赋值
- 基类和派生类的赋值规则
- 基类和派生类对象之间的赋值(截断)
- C++基类和派生类的赋值
- C++基类和派生类的赋值
- 派生类的对象赋值给基类对象
- jquery md5加密
- viewPager 里Adapter强制刷新
- 文章索引目录
- SQLite -简介
- 特征提取之SIFT(尺度不变性特征变换)
- C++派生类与基类的赋值
- html5字体图标的好处
- c/c++全局变量在多个源文件中的使用
- eclipse集成的maven插件下载java源码
- boot相关
- FragmentManager
- Android --这些小工具让你的Android 开发更高效
- 运营
- 封装实践——打造微信底部tab栏