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

教室在线设计网站如何建立网站平台

教室在线设计网站,如何建立网站平台,企业邮箱登录方法,three.js做的酷炫网站1、默认构造函数生成规则 编译器不一定会为类生成默认构造函数,但在下列情况下,编译器会生成默认构造函数。 (1)该类没有任何构造函数,但包含一个类类型的成员变量,且成员变量所属的类有默认构造函数。 …

1、默认构造函数生成规则

编译器不一定会为类生成默认构造函数,但在下列情况下,编译器会生成默认构造函数。

(1)该类没有任何构造函数,但包含一个类类型的成员变量,且成员变量所属的类有默认构造函数。

(2)该类没有任何构造函数,但其父类有默认构造函数。

(3)该类没有任何构造函数,但含有虚函数

因为虚函数会产生虚函数表指针,而这个虚函数表指针需要在构造函数中生成。

MyDemo::MyDemo{this->_vptr = 0x00BC;
}

(4)类带有虚基类

因为需要在构造函数中生成虚基类表指针。

MyDemo::MyDemo{this->_vbptr = 0x00BC;
}

(5)对成员变量进行了大挂号或等号初始化。

class MyDemo{private:int x = 1;int y(2)
}

编译器合成的默认构造函数如下(伪代码):

MyDemo::MyDemo{this->x = 1;this->y = 2;
}

2、验证默认构造函数生成规则

上面生成默认构造函数的5条规则,我们可以通过VS2019来验证。

(1)没有生成默认构造函数

class MyDemo {};int main()
{MyDemo demo;return 0;
}

我们把断点设在第8行:return 0 的位置。运行后打开“反汇编”窗口,可以看到如下代码:

(2)生成默认构造函数

给MyDemo类增加代码,使其满足第5条规则。

class MyDemo {
private:int x = 1;
};

可以看到反汇编代码中有调用构造函数的代码:call MyDemo::MyDemo,也就是说这个时候MyDemo类生成了默认构造函数。

关于其他4条生成默认构造函数的规则,读者可以用同样的方法去验证。

3、继承中的对象构造

首先我们要知道继承中的对象构造规则:由内而外,即先构造父类对象,再构造子类对象。

我们可以用下面的代码验证继承中的对象构造顺序:

class Base {
public:Base() { cout << "Base::Base()" << endl; }
};class Derive : public Base {
public:Derive() { cout << "Derive::Derive()" << endl; }
};int main()
{Derive derive;return 0;
}

执行后的结果可以看到:

Base::Base()

Derive::Derive()

http://www.mmbaike.com/news/109575.html

相关文章:

  • 济南网站建设 齐鲁文化创意基地谷歌广告代理商
  • 布吉网站建设哪家公司靠谱中国企业100强
  • 阜阳做网站的公司网站策划书怎么写
  • 凡科网站怎么做外链吉林黄页电话查询
  • 自己做的网站主页打开速度篮网目前排名
  • 网站制作的地方域名是什么意思
  • 有哪些专做自然风景图片的网站六种常见的网络广告类型
  • ui设计师网站海外自媒体推广
  • 在线教学的网站开发方案盘多多网盘资源库
  • 东莞做门户网站网址之家
  • 做视频网站用什么好处windows优化大师和鲁大师
  • 建设银行广州社会招聘网站哪个平台可以买卖链接
  • 网站建设开发案例企业营销策划书如何编写
  • 珠海手机网站建设价格关键词排名方案
  • 网站制作眼南宁网站推广公司
  • 什么网站做一件代发专业北京seo公司
  • 产品网站策划关键词推广计划
  • 邵阳做网站公司新闻软文怎么写
  • 个人网页设计作品简单优化推广seo
  • 有产品做推广 选哪个 网站济南网站seo优化
  • 太仓网站建设网站推广网络宣传推广方案范文
  • 做设备推广的网站seo网站诊断分析报告
  • 湘潭做网站问下磐石网络重庆seo网络推广关键词
  • 卖房子上哪个网站最好卖品牌推广和营销推广
  • 新闻动态网站的设计添加友情链接的技巧
  • 厦门网站建设114东莞百度推广排名优化
  • 上海工程造价咨询公司英文seo兼职
  • 网站建设日程表网络推广工具有哪些
  • 网站第二次备案网络服务包括哪些内容
  • 成都市建设交通委员会网站品牌推广计划书怎么写