技术,瞎侃,健康,休闲……
mahu@cppblog 人类的全部才能无非是时间和耐心的混合物
posts - 11, comments - 13, trackbacks - 0, articles - 12
C++博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
一个虚函数的访问权限问题
Posted on 2006-06-28 11:42
mahudu@cppblog
阅读(468)
评论(2)
编辑
收藏
引用
所属分类:
C/C++
在水木上见到一个贴子,关于虚函数的访问权限问题:
#include
<
cstdlib
>
#include
<
iostream
>
using
namespace
std;
class
B
{
public
:
virtual
int
f1()
{cout
<<
"
B::f1()
"
<<
endl;
return
0
;}
virtual
void
f2(
int
val)
{cout
<<
"
B::f2(int)
"
<<
endl;}
virtual
int
f3(
int
val )
{cout
<<
"
B::f3(int)
"
<<
endl;
return
0
;}
}
;
class
D :
public
B
{
int
f1()
{cout
<<
"
D::f1()
"
<<
endl;
return
0
;}
virtual
void
f4()
{cout
<<
"
D::f4()
"
<<
endl;}
int
f3(
int
val)
{cout
<<
"
D::f3(int)
"
<<
endl;
return
0
;}
}
;
int
main(
int
argc,
char
*
argv[])
{
B
*
bp
=
new
D;
bp
->
f3(
12
);
//
D中的f3是private的,可以访问#1
D
*
dp
=
new
D;
dp
->
f3(
12
);
//
f3是private,访问不了,编译通不过
system(
"
PAUSE
"
);
return
EXIT_SUCCESS;
}
其实这是一个关于访问权限决定时间的问题,由于
访问权限是编译时间决定的
,而不是运行时决定的。
B *bp = new D; // 此时bp所指向的类型是B而不是D,而B的f3()是公有的,所以可以访问。
D *dp = new D; // 此时dp所指向的类型是D,而D的f3()是私有的,所以不能访问。
Feedback
#
re: 一个虚函数的访问权限问题[未登录]
回复
更多评论
2007-05-31 16:02 by
Joe
好难啊~~~晕了~~~
#
re: 一个虚函数的访问权限问题
回复
更多评论
2008-08-10 10:17 by
AlexEric
巧妙!
刷新评论列表
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
一个虚函数的访问权限问题
Self Numbers
Booklet Printing
The Blocks Problem
Fibonacci Freeze
The 3n + 1 problem
A + B Problem
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
Powered by:
C++博客
Copyright © mahudu@cppblog
日历
<
2006年6月
>
日
一
二
三
四
五
六
28
29
30
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
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔分类
Antlr
C#/Java
C/C++(7)
TTCN-3
其它(2)
数据结构、算法(2)
随笔档案
2006年6月 (11)
文章分类
Programming(12)
文章档案
2006年6月 (12)
友情链接
ANTLR
CSDN
STL学习中心
STL中文站
TTCN-3
博客堂
博客园
搜索
最新评论
1. re: The 3n + 1 problem
@TaiwanNo.1
...我就是这样写的,没有这么快
--UDHeart
2. re: 两个汉诺塔解法
版本吧 vcbf
--4525
3. re: 转:快速平方根(平方根倒数)算法[未登录]
完全看不懂,nvidia就是牛啊~。。
--123
4. re: The 3n + 1 problem
评论内容较长,点击标题查看
--TaiwanNo.1
5. re: 一个虚函数的访问权限问题
巧妙!
--AlexEric
阅读排行榜
1. 转:快速平方根(平方根倒数)算法(1410)
2. The 3n + 1 problem(1291)
3. The Blocks Problem(871)
4. Self Numbers(810)
5. 两个汉诺塔解法(591)
评论排行榜
1. The 3n + 1 problem(3)
2. 程序员每天该做的事(3)
3. 一个虚函数的访问权限问题(2)
4. 两个汉诺塔解法(2)
5. 转:快速平方根(平方根倒数)算法(2)