Forcus on C++
Make everything as simple as possible, but not simpler. by Albert Einstein
posts - 1, comments - 0, trackbacks - 0, articles - 8
首页
联系
管理
聚合
<
2025年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
留言簿
给我留言
查看公开留言
查看私人留言
随笔档案
2011年4月 (1)
文章分类
C++ Language(3)
Data structure
Design Patterns(3)
DIRECT X
GUI
Programming skills(1)
WINDOWS API(1)
文章档案
2012年5月 (2)
2011年11月 (3)
2011年5月 (1)
2011年4月 (2)
收藏夹
Design Pattern(1)
搜索
最新评论
关于类的初始化顺序
Posted on 2011-04-17 22:34
CyberC++
阅读(114)
评论(0)
编辑
收藏
引用
所属分类:
C++ Language
总结归纳一下类的初始化顺序,看下面这个例子
1
class
E :
public
A
2
{
3
4
public
:
5
E() : b(
1
), c(
2
)
6
{
7
printf(
"
E::E() \n
"
);
8
}
;
9
~
E()
{}
;
10
11
private
:
12
B b;
13
C c;
14
D d;
15
}
;
类E的初始化顺序是:
A:A()
B::B(i)
C::C(i)
D::D()
E::E()
另外注意类成员变量的初始化顺序:
1
class
Test
2
{
3
public
:
4
Test() :
5
i(j), j(
3
)
6
{
7
printf(
"
i = %d, j = %d \n
"
, i, j);
8
9
}
;
10
~
Test()
{}
;
11
private
:
12
int
j, i;
13
}
;
14
其中 i 和 j 的值都是有意义的,因为初始化的顺序与 定义时的顺序有关,与构造函数的顺序无关,所以 i 和 j 的值都是3.
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
Boost Thread 和 bind 的使用
多线程 Mutex 的运用
关于类的初始化顺序
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理