不过是用Ms Tools的一个民工..
人恒过,然后能改。困于心,衡于虑,而后作。
C++博客
|
首页
|
发新随笔
|
发新文章
|
联系
|
聚合
|
管理
[Exercise/34#]Virtual Function Demo
1.多重继承下的对象布局
#include
<
iostream
>
using
namespace
std;
class
A
{
public
:
virtual
void
fnA()
{cout
<<
"
A.
"
<<
endl;}
}
;
class
B
{
public
:
virtual
void
fnB()
{cout
<<
"
B.
"
<<
endl;}
}
;
class
C:
public
A,
public
B
{
public
:
void
fnA()
{cout
<<
"
fnA->C.
"
<<
endl;A::fnA();}
void
fnB()
{cout
<<
"
fnB->C.
"
<<
endl;B::fnB();}
}
;
int
main()
{
C
*
pC
=
new
C();
cout
<<
pC
<<
endl;
pC
->
fnA();
pC
->
fnB();
B
*
pB
=
pC;
cout
<<
pB
<<
endl;
pB
->
fnB();
A
*
pA
=
pC;
pA
->
fnA();
cout
<<
pA
<<
endl;
delete pC;
return
0
;
}
2.基类的析构函数
#include
<
iostream
>
using
namespace
std;
class
A
{
public
:
A()
{cout
<<
"
A().
"
<<
endl;}
~
A()
{cout
<<
"
~A().
"
<<
endl;}
}
;
class
B:
public
A
{
public
:
B()
{cout
<<
"
B().
"
<<
endl;}
~
B()
{cout
<<
"
~B().
"
<<
endl;}
}
;
int
main()
{
A
*
p
=
new
B();
//
基类没有将析构函数声明为虚拟,则最后并不会调用子类的析构函数
delete p;
return
0
;
}
暂时只实现了这个简单的Demo,等拿到《深度探索C++对象模型》再仔细弄下 ..~
一个很简单的码 ..~ 这个码是在VC6.0中运行的 所以不符合现在的标准
#include
<
iostream.h
>
class
Point
{
public
:
virtual
void
output()
{
cout
<<
"
调用了基类的output()函数.
"
;
}
void
cjp()
{
this
->
output();
}
}
;
class
test:
public
Point
{
public
:
void
output ()
{
cout
<<
"
调用了派生类的output函数。
"
;
}
}
;
int
main()
{
test tt;
tt.cjp();
return
0
;
}
//
endof main()
如果这里基类的output不是virtual function 运行时这个this 对象就是基类的指针
... 加了就是运行派生类的output
发表于 2008-07-25 11:58
IssAc
阅读(85)
评论(0)
编辑
收藏
引用
所属分类:
Exercise
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
[Exercise/34#]Virtual Function Demo
[Exercise/33#]Simple Pack Problem
[Exercise/32#]Hanoi--递归和非递归算法
[Exercise/31#]迷宫问题--BFS and DFS
[Exercise/30#]动态查找-2叉排序树的简单操作
[Exercise/29#]字符串Hash的简单应用
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
随笔:5 文章:28 评论:1 引用:0
<
2024年12月
>
日
一
二
三
四
五
六
24
25
26
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
公告
Blog里的内容如果没有注明为转载,就是原创文章,需要转载的朋友请注明出处。文章中如有错误,请指出。转载内容如果有侵权行为,请与我联系,----issac_asimoy@qq.com。
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
(5)
Heart(3)
(rss)
Interesting(2)
(rss)
UML
(rss)
随笔档案
(5)
2008年8月 (1)
2008年7月 (3)
2008年6月 (1)
文章分类
(28)
Boost
(rss)
C/C++(4)
(rss)
Data Structure and Algorithm(2)
(rss)
Disquisition
(rss)
Exam Problem(5)
(rss)
Exercise(6)
(rss)
IDE and Tools(1)
(rss)
Mfc(4)
(rss)
Readset
(rss)
Sdk(5)
(rss)
STL(1)
(rss)
文章档案
(28)
2008年8月 (5)
2008年7月 (15)
2008年6月 (8)
相册
Temp
My World
≈靜侯輪囘≈
Study Web
最新随笔
1. 个人收藏的编程下载资源全部公布
2. 不同地区技术人才需求量的统计和分析
3. 失意时须看的十大图片《组图》
4. 作为男人你必须知道的几件事情
5. 逆境轉心境
搜索
积分与排名
积分 - 7790
排名 - 1302
最新评论
1. re: 作为男人你必须知道的几件事情
这个怎么看 都是做个好人的 基本准则啊!
--Corner Zhang
阅读排行榜
1. 个人收藏的编程下载资源全部公布(462)
2. 作为男人你必须知道的几件事情(428)
3. 不同地区技术人才需求量的统计和分析(344)
4. 逆境轉心境(326)
5. 失意时须看的十大图片《组图》(283)
评论排行榜
1. 作为男人你必须知道的几件事情(1)
2. 失意时须看的十大图片《组图》(0)
3. 不同地区技术人才需求量的统计和分析(0)
4. 个人收藏的编程下载资源全部公布(0)
5. 逆境轉心境(0)