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

安徽房和城乡建设部网站wordpress 清空 demo

安徽房和城乡建设部网站,wordpress 清空 demo,广东深圳快递能发货吗,电商专业就业前景当需要在子类中初始化父类的变量时(也就是在子类中调用父类的构造函数),我们不需要一个一个地委托父类的构造函数,而是直接使用继承构造函数即可: using Base::Base //base时父类的名字使用继承构造函数,就…

当需要在子类中初始化父类的变量时(也就是在子类中调用父类的构造函数),我们不需要一个一个地委托父类的构造函数,而是直接使用继承构造函数即可:

using Base::Base //base时父类的名字

使用继承构造函数,就表示在子类中调用父类的构造函数(公有的),按照父类构造函数的方式初始化父类的变量

  • 不使用继承构造函数:
  class TestA {public:TestA(string i): a1(i) {}TestA(int i) : a2(i) {}TestA(double i) : a3(i) {}~TestA() {}string geta1() {return a1;}virtual string getb1() = 0;private:string a1;int a2;double a3;};class TestB: public TestA{public://一个一个写TestB(string i):TestA(i),b1(i) {}TestB(int i) :TestA(i), b2(i) {}TestB(double i) :TestA(i), b3(i) {}~TestB() {}virtual string getb1() override {return b1;}virtual void testb();private:string b1;int b2;double b3;};
  • 使用继承构造函数:
  class TestA {public:TestA(string i): a1(i) {}TestA(int i) : a2(i) {}TestA(double i) : a3(i) {}~TestA() {}string geta1() {return a1;}virtual string getb1() = 0;private:string a1;int a2;double a3;};class TestB: public TestA{public:// 继承构造函数using TestA::TestA; //直接调用TestA中的构造函数// ....virtual void testb();private:string b1;int b2;double b3;};
  • 其实继承构造函数本质上就是 在子类中初始化父类的变量,所以它并不能初始化子类自己的变量。那使用继承构造函数之后,子类如何初始化自己的变量呢?

    1. 直接就地初始化(针对非静态成员变量),即 = 或 { }
 class Derived: public Base {public:// 使用继承构造函数using Base::Base;// 假设派生类只是添加了一个普通的函数void display() {// do something		}private:// 派生类新增数据成员double _double{0.0}; //直接用{}};
  1. 用子类的构造函数初始化,在初始化列表中初始化(没有第一种简洁)
 class Derived :public Base {public:// 使用继承构造函数using Base::Base;// 新增派生类构造函数Derived(int a, double b):Base(a), _double(b){}//在初始化列表中初始化// 假设派生类只是添加了一个普通的函数void display() {// do something		}private:// 派生类新增数据成员double _double{0.0};//本地初始化 会被初始化列表 覆盖};
  • 注意,当基类的构造函数由默认值时,子类的构造函数不会继承这个默认值,同时会产生多个版本的几倍构造函数:
  class A {public:A(int a = 3, double b = 4): _a(a), _b(b){}void display() {cout<<_a<<" "<<_b<<endl;}private:int _a;double _b;};class B:public A {public:using A::A;};/*A中的构造函数有下面这几个版本:A()A(int)A(int, double)A(const A&)B中的继承构造函数有下面这几个版本B()B(int)B(int, double)B(const B&)	 */
http://www.dtcms.com/a/551392.html

相关文章:

  • 学做网站需要学哪些软件网络宣传怎么做
  • 网站建设人员招聘要求上海idc机房托管
  • 建设美食电子商务网站沧州网站制作
  • 免费开源代码网站网站如何做seo规划
  • 一学一做动漫视频网站重庆网站营销公司
  • 汕头网站备案滑动门代码 wordpress
  • 网站中搜索栏怎么做的管理软件网站模板
  • 好网站建设网站网站开发的问题
  • 二级域名如何绑定网站网页版梦幻西游伙伴
  • 好多职业培训网站是怎么做的咸阳网站推广
  • 建设电商网站的个人心得张家界酒店网站建设
  • 云南省建设网站福千欣隆网站建设公司 概况
  • 服务器做网站用什么环境好河南郑州网站建设
  • 溧阳网站优化漂亮的企业网站源码
  • 高水平的徐州网站建设企业网站备案 过户
  • 医药招商网站大全免费dedecms网站迁移
  • 山西省建设厅招标网站菏泽建设职业中等专业学校官方网站
  • 毕业设计论文网站开发需要多少钱久治县网站建设公司
  • 益阳建站网站制作wordpress同步至订阅号
  • 手机网站开发公司哪家最专业生物医药基地网站建设
  • 网站色调设计方案网站使用什么数据库
  • 做网站主要来源wordpress内部结构
  • 响应式 购物网站模板下载淄博做网站哪家好
  • 网站关键词排名快速提升微信网站设计制作
  • 长沙专业网站设计平台跳转短链接生成
  • 网站建设中忽略的字体侵权行为南京网站设计费用
  • 贵港网站建设代理广告设计与制作模板
  • 镇江方圆建设监理咨询有限公司网站wordpress免费购物
  • 餐饮加盟网站制作广告词大全
  • 机票旅游网站开发南宁网站设计