标题:关于虚拟基类!
只看楼主
kuangjingbo
Rank: 1
等 级:新手上路
帖 子:312
专家分:0
注 册:2004-4-24
 问题点数:0 回复次数:6 
关于虚拟基类!

首先,我想做个不可以被别人继承的类。已经实现了,代码如下,但是有些不明白的地方:

class Usable;

class Usable_lock { friend class Usable; private: Usable_lock() {} Usable_lock(const Usable_lock&) {} }; class Usable : public virtual Usable_lock { //就是在这里啦!!!! // ... public: Usable(); Usable(char*); // ... }; Usable a; class DD : public Usable { }; DD dd; // error: DD::DD() cannot access // Usable_lock::Usable_lock(): private member

在class Usable : public virtual Usable_lock { 行,如果我把virtual去掉,则类Usable可以被继承,也就是说DD dd;不会发生错误了。

问题是:virtual到底起什么作用???请教高手!!

搜索更多相关主题的帖子: 基类 虚拟 
2004-04-27 12:29
C++大粉丝
Rank: 4
等 级:贵宾
威 望:10
帖 子:477
专家分:0
注 册:2004-4-23
得分:0 

你在那里看到这个例子的??

我怎么不去掉virtual也能产生DD,呵呵.


I am a big fan of c plus plus.
2004-04-27 14:51
C++大粉丝
Rank: 4
等 级:贵宾
威 望:10
帖 子:477
专家分:0
注 册:2004-4-23
得分:0 
这是个语法游戏,我现在正在工作,晚上回家后给你解答,连怎么不去掉virtual产生DD一块儿解答.

I am a big fan of c plus plus.
2004-04-27 14:53
三少爷
Rank: 1
等 级:新手上路
帖 子:192
专家分:0
注 册:2004-4-29
得分:0 
是virtual public?

2004-04-29 12:21
kuangjingbo
Rank: 1
等 级:新手上路
帖 子:312
专家分:0
注 册:2004-4-24
得分:0 

楼上,你实验一下就知道了

在vc++6.0里,virtual public和public virtual的效果一样


永不放弃!
2004-04-29 15:46
zxp
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2004-7-18
得分:0 

我也在VC++6.0下试了,当有Virtual时会产生错误,没有时不会有错误 ,请高手快快解答!谢谢!

2004-07-23 21:55
kuangjingbo
Rank: 1
等 级:新手上路
帖 子:312
专家分:0
注 册:2004-4-24
得分:0 

永不放弃!
2004-07-25 12:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-933-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.084631 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved