当前位置: 首页 > wzjs >正文

眉县住房和城乡建设局网站河南郑州旅游景点

眉县住房和城乡建设局网站,河南郑州旅游景点,网上引流推广有哪些软件,拉扎斯网络科技上海有限公司问题引入: 在C开发中,数据切片是指当子类对象赋值给父类对象时,父类对象只能接收到子类对象中与父类对象数据成员对应的部分。而子类对象中新增加或修改的数据成员则被丢失,这就是数据切片问题。 1.复用的代码示例 #include &l…

问题引入:

在C++开发中,数据切片是指当子类对象赋值给父类对象时,父类对象只能接收到子类对象中与父类对象数据成员对应的部分。而子类对象中新增加或修改的数据成员则被丢失,这就是数据切片问题。

1.复用的代码示例

#include <iostream>class Base
{
public:Base():BaseNum(1){}virtual void say(){std::cout << "Base say  " << BaseNum <<  std::endl;}virtual ~Base(){}
private:int BaseNum;
};class Derived :public Base
{
public:Derived():DerivedNum(2){}virtual ~Derived(){}virtual void say(){std::cout << "Derived say  " << DerivedNum << std::endl;}void Special() {std::cout << "Derived Special" << std::endl;}
private:int DerivedNum;
};

2.数据切片发生场景示例

结果看用子类初始化父类,能力并没有发生变化

父类不能调用子类重写虚函数

父类不能调用子类普通的虚函数

int main() 
{//栈对象,基类仅仅拷贝了派生类的基类Derived d2;Base b2 = d2;b2.say();return 0;
}
  • 输出
Base say  1

3.基类想使用子类重写的虚函数,可以用引用

引用情况下:

父类能调用子类重写虚函数

父类不能调用子类普通的虚函数

int main() 
{//引用对象,基类也可以实现派生类的多态行为Derived d3;Base &b3 = d3;b3.say();return 0;
}
  • 输出
Derived say  2

4.对象创建在堆,基类指针可以调用派生类重写的虚函数

int main() 
{//指针访问对象可以获得多态行为Derived* d1 = new Derived();Base* b1 = new Derived();b1->say();delete d1;delete b1;return 0;
}
  • 输出
Derived say  2

5.完整代码

int main() 
{//指针访问对象可以获得多态行为Derived* d1 = new Derived();Base* b1 = new Derived();b1->say();delete d1;delete b1;std::cout << "end.........................................1\n" << std::endl;//栈对象,基类仅仅拷贝了派生类的基类Derived d2;Base b2 = d2;b2.say();std::cout << "end.........................................2\n" << std::endl;//引用对象,基类也可以实现派生类的多态行为Derived d3;Base &b3 = d3;b3.say();std::cout << "end.........................................3" << std::endl;return 0;
}
  • 输出
Derived say  2
end.........................................1Base say  1
end.........................................2Derived say  2
end.........................................3
http://www.dtcms.com/wzjs/532843.html

相关文章:

  • 网站与网页wordpress小说文章发布软件
  • 国外html 网站商城型网站怎么做优化
  • 网站搭建空间花生棒 wordpress
  • 做设计用的常用网站wordpress替换图片
  • 合肥网站优化排名推广青海公司网站建设哪家快
  • 做头像网站静态上海代理注册公司
  • 网站的空间和域名备案吗新冠新增病例最新消息
  • 上国外网站的dns淄博高端网站建设乐达
  • 二级域名做网站好不好厦门电脑网站建设
  • 找设计师做网站无锡 网站建设
  • 企业网站建设公司多米做直播网站一定要idc吗
  • 网站网站开发邯郸专业做网站
  • 网站建设公司哪家好 干净磐石网络中国家居设计网
  • 怎么用div做网站微小店网站建设哪家好
  • 河北网站建设模板17zwd一起做网店
  • 盘锦网站建设哪家好wordpress设置用户登录
  • 网站添加标签云百度文章收录查询
  • 搜搜网站提交入口wordpress死链
  • 网站页面好了怎么做后端用群晖如何做公司网站
  • 创业园网站建设安徽安庆房价
  • 视频网站自己怎么做装修公司起名
  • 网站解析错误怎么做淘宝企业网站
  • 网站开发毕业任务书报纸做垂直门户网站
  • 建设银行网站用户名怎么查给网站做引流多少钱
  • 网站改版十空调设备公司网站建设
  • 深圳网站平面设计做电影网站要很大的主机空间吗
  • 巴中市做网站小学手工制作100种
  • 网站app免费软件安阳论坛最新消息
  • 深圳网站建设培训西充建设部门投诉网站
  • 网站开发快递文件短视频培训机构