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

惠州做网站好的公司光华路网站建设

惠州做网站好的公司,光华路网站建设,谷城网站开发,wordpress单栏主题 极简1、“Default Constructor” 的构造操作 下面4种情况编译器会生成默认构造函数#xff1a; 成员类对象带有默认构造函数父类带有默认构造函数带有虚表的类带有虚基类的类 1.1、 成员类对象带有默认构造函数 如果一个类没有任何构造函数#xff0c;但它的一个成员对象带有…1、“Default Constructor” 的构造操作 下面4种情况编译器会生成默认构造函数 成员类对象带有默认构造函数父类带有默认构造函数带有虚表的类带有虚基类的类 1.1、 成员类对象带有默认构造函数 如果一个类没有任何构造函数但它的一个成员对象带有默认构造函数 那么编译器会在需要的时候为这个类生成默认构造函数。 举个例子下面的程序中编译器会为Bar生成一个默认构造。 class Foo { public:Foo(){} };class Bar { public:Foo foo;int no; };void foo_bar() {Bar bar;//Bar::foo 在这里初始化... }生成的构造函数看起来像下面这样 Bar::Bar() {foo.Foo::Foo(); }如果class Bar提供了一个构造函数并初始化no像下面这样 Bar::Bar() {no0; }则编译器会将foo的构造安插到用户代码也就是no0的前面。像下面这样 Bar::Bar() {foo.Foo::Foo();no0; }如果类中有多个成员对象包含默认构造那么编译器则按照成员声明顺序依次插入成员对象的默认构造。 1.2 父类带有默认构造函数 类似的道理如果一个类没有定义任何构造函数而他的父类含有默认构造。编译器则在需要的时候给这个类生成一个默认构造用以调用父类的默认构造。 1.3、带有虚表的类 下面代码中class shape中定义了一个虚函数show() class shape { public:virtual void show(){} };下面两个扩展行动会在编译期产生 编译器生成一个虚函数表用于存放虚函数的地址一个指向虚函数表的指针会安插在 shape中 为此编译器会为shape生成一个默认构造用于设置vptr的值。 1.4、带有虚基类的类 与虚函数类似。如果一个类存在虚基类编译器会为生成一张虚基类表用以存放所有的虚基类会在类中安插一个虚基类表指针指向虚基类表。 如果这个类没有任何构造编译器则会生成一个默认构造用于正确设置虚基类表指针。 2、“Copy Constructor”的构造操作 下面4种情况编译器在需要的时候会生成拷贝构造 当类中含有一个成员对象而后者有一个拷贝构造当class继承一个父类而后者有一个拷贝构造类中声明了一个或多个虚函数有一个或多个虚基类 2.1、类中声明了一个或多个虚函数 下面代码定义了两个类Animal和Beer。 class Animal { public:virtual void draw(){...} };class Beer :public Animal { public:void draw(){...} };第一种情况 Beer a Beer b a;因为a和b的vptr指向的是同一张虚函数表所以这里可以直接按位拷贝不需要生成拷贝构造。 第二种情况 Beer a Animal b a;因为Beer和Animal拥有不同的虚函数表这里实行按位拷贝会有问题。这是编译器会为Animal生成拷贝构造用以正确的设置vptr。 2.2、有一个或多个虚基类 和带有虚函数的情况类似。如果相同类型之间的初始化使用按位拷贝就绰绰有余了。如果以派生类对象作为基类的初始值时或相反编译器会生成默认拷贝构造用以正确设置虚基类指针。 3、成员初始化列表 以下4种情况必须使用初始化列表 初始化一个引用成员时初始化一个const成员时调用父类构造而它拥有参数调用成员对象的构造而它拥有参数 初始化列表是按照成员声明的顺序执行的下面是一个常见的错误 class X { public:X(int val):j(val),i(j){} private:int i;int j; };X()中会先设置i的值由于这时 j 还是未定义的所以 i 被赋予了一个无效值。 转换后的X()像下面这样 X(int val) {i j; //这里 j 还没有初始化。j val;... }
http://www.tj-hxxt.cn/news/230948.html

相关文章:

  • 农村做网站开发快速建站完整版
  • 做网站反复修改WordPress网站转APP插件
  • 网站建设如何入账从零开始wordpress主题
  • 网站需要优化的小型公司网站地址英文
  • 义乌义亭招工做网站养猪工作网站建设联系
  • 北京比较好的网站公司自己做网站卖什么
  • 女装市场网站建设费用评估wordpress中文博客主题
  • 网站开发的主要内容wap页面是什么
  • 雄安网站开发公司森网站建设
  • 做网站都要会些什么郑州网站建设选微锐
  • 淘宝联盟登记新网站深圳公司注册地址可以是住宅吗
  • 安徽网站搭建北京网站建设小鱼在线
  • 大学生网站开发接单全球最大的网站建设外包网
  • 手工艺品外贸公司网站建设方案北京建设工程联合验收网站
  • 怎样做易支付网站太原网站建设制作
  • 徐东做网站凡客官网首页
  • 电白网站开发公司企业官网招聘信息
  • 深圳企业网站公司网站备案号密码找回
  • 营销型手机网站小程序商城哪家好些
  • 站长工具端口网站优化大赛
  • 易语言编程可以做网站么网站你懂我意思正能量免费下载
  • 网站安全狗 拦截301php网站开发都需要什么软件
  • 专业提供网站建设服务包括哪些网上怎么推广公司产品
  • 邯山区建设局网站合肥网站建设开发
  • 湖北省随州市建设厅网站公司的官方网站的作用
  • 德成建设集团有限公司网站孝感市网站建设公司
  • 北京网站建设推广服微信网站程序
  • 国内红酒网站建设长春网络公司营销模式
  • 南京建网站公司wordpress 公司内网
  • 新余网站建设找谁做自己在线制作logo免费广告招牌