理解cpp
sujiaqing
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据成员的初始化
初始化的时机:静态数据成员,属于类,程序启动时,加载类信息并初始化非静态数据成员,属于类的实例(即对象),在实例化一个对象时初始化初始化的位置:静态数据成员,在类的定义中初始化,注意类的“声明和定义”, int Object::StaticDataMember = 100;非静态数据成员,在构造函数的定义中初始化,这里有两种方式:初始化列表&构造函数体,在实例化原创 2016-05-10 22:20:23 · 1315 阅读 · 0 评论 -
多重继承——菱形继承(二义性)
菱形继承的定义如下,从Base出发,至AB汇合,因此成为菱形继承。class Base;class SubA : public Base;class SubB : public Base;class AB : public SubA, public SubB;这会导致两个问题: 1.二义性 , 如果 Base定义了一个函数 fun, 在原创 2016-05-11 14:28:38 · 769 阅读 · 0 评论 -
默认构造函数
关于默认构造函数两个常见的误解:1.任何一个class,如果没有定义默认构造函数(default constructor) ,编译器都会为其合成一个默认构造函数2.编译器合成的默认构造函数,会设定会明确设定数据成员的默认值编译器不是总会为class合成默认构造函数,只是在编译器需要时才合成,注意:是编译器需要,而不是程序需要。那在什么情况下,编译器会合成默认构造函数呢?原创 2016-05-12 13:46:36 · 593 阅读 · 0 评论 -
c++高级编程内容
原创 2016-09-01 09:31:49 · 341 阅读 · 0 评论
分享