c++类型兼容原则
来源:互联网 发布:入骨相思知不知 番外 编辑:程序博客网 时间:2024/06/05 18:58
C++类型兼容原则
类型兼容原则是指在需要基类对象的任何地方,都可以使用共有派生类的对象来替代。
类型兼容规则中所指的替代包括以下的情况:
(1) 派生类的对象可以赋值给基类对象
(2) 派生类的对象可以初始化基类的引用。
(3) 派生类对象的地址可以赋值给基类的指针。
For example:
class B
{….};
Class D: public B
{…..};
int main()
{
B b1, *pbl;
D d1;
b1 = d1;//派生类的对象可以赋值给基类对象。
B &bb = d1;//派生类的对象可以初始化基类的引用。
pb1 = &d1; //派生类对象的地址可以赋值给基类的指针。
return0;
}
注意:在替代之后,派生类对象就可以作为基类的对象使用,但只能使用从基类继承的成员。
例子:
#include<iostream>
using namespacestd;
class BO//基类B0定义
{
public:
voiddisplay(){cout<<"Bo::display()"<<endl;}//公有成员函数
};
class B1:public BO
{
public:
voiddisplay(){cout<<"B1::display()"<<endl;}
}
class D1:public B1
{
public:
voiddisplay(){cout<<"D1::display()"<<endl;}
};
void fun(BO *ptr)//参数为指向基类对象的指针
{
ptr->display();//“对象指针->成员名”
}
int main()
{
BO bo;//声明B0类的对象
B1 b1;//声明B1类的对象
D1 d1;//声明D1类的对象
BO *p;
p = &bo;//B0类指针指向B0类对象
fun(p);
p=&b1;;//B0类指针指向B1类对象
fun(p);
p=&d1;;//B0类指针指向D1类对象
fun(p);
return 0;
}
- c++类型兼容原则
- [C++] 类型兼容规则
- 类型兼容原则遇上函数重写
- C/C++中同名覆盖原则和赋值兼容原则
- 【C语言】类型转换原则
- C语言类型转换的原则
- 兼容类型
- C++赋值兼容原则
- C++中类型兼容规则实例
- c语言运算过程中的类型自动转换原则
- 【javascript】火狐浏览器兼容原则
- C++赋值兼容原则理解
- 类型兼容规则
- 类型兼容规则练习
- 不兼容的类型
- 表单兼容类型设计
- 类型兼容规则
- 类型兼容规则
- 番茄学习法--使用心得(二)
- Excel拼接字符串技巧
- 解决 百度地图和真是gps 坐标问题
- ubuntu配置vnc(ubuntu13.04这个版本的可以)
- Life Forms poj3294
- c++类型兼容原则
- bitma 缓存
- QWidget与HWND的互相转换
- Getting The Hang Of IOPS v1.3
- UVA 10191 - Longest Nap
- S5PV210的NandFlash应用(四)
- Understanding SCSI, ATA, SAS and SATA
- c++浅谈声明和定义区别
- 求office 2012安装包。不要wps。谢谢了。