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

项目建设全过程自动优化网站建设咨询

项目建设全过程,自动优化网站建设咨询,中方元建设工程 网站,郑州注册公司费用问题 我们知道,在C中,如果没有为一个类显式定义构造函数,那么编译器会为我们隐式地定义一个默认构造函数。那么,你有没有想过,这个隐式定义的默认构造函数(合成的默认构造函数)的访问权限是什么…

问题

我们知道,在C++中,如果没有为一个类显式定义构造函数,那么编译器会为我们隐式地定义一个默认构造函数。那么,你有没有想过,这个隐式定义的默认构造函数(合成的默认构造函数)的访问权限是什么呢?它跟类中其他成员的权限有没有什么关系呢?

比如,下面这个类,它的所有成员都是 private 的,那么它的合成的默认构造函数会是 private 的吗?

class MyClass {
// 编译器为MyClass合成的默认构造函数的访问控制权限是什么呢?
private:int val1;double val2;void info();
};

分析

事实上,通过编码很容易找到答案:

class MyClass {
// 编译器为MyClass合成的默认构造函数的访问控制权限是什么呢?
private:int val1;double val2;void info();
};void func() {MyClass obj;	// 正常编译,不会报错,说明默认构造函数是public的
}

从上面的代码可以看出,实际上编译器合成的默认构造函数永远都是 public 权限的,无论其中的成员是什么访问权限

关于这一点,cppreference 中也有清晰的说明:

If no user-declared constructors of any kind are provided for a class type, the compiler will always declare a default constructor as an inline public member of its class.
如果用户没有为一个类提供任意种类的构造器,编译器总是会为该类声明一个作为内联公共成员的默认构造器。


拓展

事实上,不仅仅是合成的默认构造函数,包括编译器合成的拷贝控制成员(合成的拷贝构造函数、合成的移动构造函数、合成的赋值运算符和合成的析构函数),也都是永远是 public 的。

参考

  • Are synthesized copy control members always public?
  • Default constructors
http://www.yayakq.cn/news/198996/

相关文章:

  • 吉安市建设局施工管理站网站公司网站建设代理怎么做
  • 龙岗附近做网站公司哪家好附近的代理记账公司有哪些
  • 境外网站icp备案我用帝国做的网站上传到别一个服务器上重新邦了一个域名
  • 网站开发网站开发重庆永川微网站建设
  • 网站内容设置优秀包装设计网站
  • 静态网页制作期末试卷及答案刷关键词优化排名
  • 做网站技术seo排名系统
  • 网站是怎么建成的郑州网站建设公司 艾特
  • 湘潭网站建设 水平磐石网络网站选项卡图标
  • 提升网站建设品质公司组网
  • 刷网站流量有用吗网站建设费用计什么科目
  • 济南高新区 网站建设wordpress视频多集播放
  • 做机网站深圳地铁建设集团网站
  • 招商外包公司哪家比较好宁波谷歌seo
  • 网站开发及推广是怎么回事网站开发调查问卷题
  • 合肥市做网站多少钱精品网文
  • 一个设计网站多少钱全域seo
  • ps做网站对齐技巧公司网站建设费用如何做账
  • 网站开发与建设主要干什么wordpress编辑插件
  • 青岛网站制作多少钱一个怎样将建设银行网站加入可信站
  • 专业的论坛网站建设做网站用笔记本做服务器吗
  • 不同代码做的网站后期维护情况河南视频网站建设公司
  • 微页制作网站模板下载江门网站建设方案报价
  • 承包网站开发深圳公关公司
  • 海口seo外包南宁seo网络推广
  • 自家电脑做网站服务器w7花生壳厦门旅游必去十大景点
  • 网站建设的主要功能及定位手机优化专家下载
  • 自己做购物网站推广可做推广的网站
  • 网站开发语言总结有哪些网站建设付款分期付款协议
  • 源码下载网站源码太原做app网站建设