大胖的部落格
Just a note
C++博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
112 随笔 :: 0 文章 :: 3 评论 :: 0 Trackbacks
<
2009年6月
>
日
一
二
三
四
五
六
31
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
1
2
3
4
5
6
7
8
9
10
11
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
Algorithm(13)
(rss)
C#(13)
(rss)
C++(22)
(rss)
Design Pattern(23)
(rss)
Others(14)
(rss)
STL(9)
(rss)
Technical(2)
(rss)
UML(2)
(rss)
Win32(18)
(rss)
Reference
Windows XP command line
最新评论
1. re: 在TCL命令行中调用C函数
@Kenny
实在不好意思,时间太过久远,本人已好久没有接触TCL……
--大胖
2. re: 在TCL命令行中调用C函数
請問如何溝通array 變數
Q:1
tcl array in C
Q:2
C array in tcl
懇求指導
--Kenny
3. re: 在TCL命令行中调用C函数
谢谢!
--1232
虚基类
当一个类被虚拟继承时,基类才叫虚基类。
初始化
在多层的继承关系中,虚基类的初始化是由最终派生类完成的。中间派生类对虚基类构造函数的调用被抑制。
class
Base
{
public
:
Base(
int
i)
{cout
<<
"
Base:
"
<<
i
<<
endl;}
}
;
//
virtual inheritance
class
Base1:
public
virtual
Base
{
public
:
Base1(
int
,
int
):Base(
3
)
{}
//
Base(3) not called
}
;
class
Derived :
public
Base1
{
public
:
Derived():Base(
4
),Base1(
2
,
3
)
{}
//
Base(4) called
}
;
输出:Base: 4
在非虚拟继承时,派生类只能显示初始化其直接基类。
class
Base
{
public
:
Base(
int
i)
{cout
<<
"
Base:
"
<<
i
<<
endl;}
}
;
class
Base1:
public
Base
{
public
:
Base1(
int
,
int
):Base(
3
)
{}
}
;
class
Derived :
public
Base1
{
public
:
Derived():Base1(
2
,
3
)
{}
//
can't call Base() here
}
;
构造函数的调用:
按照继承时基类的声明顺序,依次查找虚基类,调用虚基类构造函数;
虚基类构造完后,依次构造非虚基类;
最后调用派生类构造函数。
posted on 2009-06-01 16:48
大胖
阅读(167)
评论(0)
编辑
收藏
引用
所属分类:
C++
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
补码
带引用计数的智能指针(模板类)
虚基类、虚函数,对象内存分布
template
override, overload, hide
继承
基类中的虚函数
继承关系中的二义性
虚基类
C/C++关键字
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Powered by:
C++博客
Copyright © 大胖