由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - ask a C++ inheritance question
相关主题
C++ 弱问一个C++里面
C++疑问请教一个作用域的问题
private destructor[合集] C++问题(copy constructor)
C++ Q98: Call member function in virtual function (转载)关于c++的constructor的面试题
C++ Q96: function inheritance (转载)问一个简单的C++问题
abstract Factory 的困惑C++怎么不打印小数结尾的0
请教个virtual function的问题C++菜问: 怎么这样也可以?
a simple question for C++ classC++ 初学者请教一个 iostream 的问题
相关话题的讨论汇总
话题: footoobar话题: virtual话题: footoo话题: bar
进入Programming版参与讨论
1 (共1页)
e******r
发帖数: 220
1
class FooTooBar:virtual FooToo, virtual Bar{
public:
FooTooBar(){std::cout<<"FooTooBar";}
};
只听说过public, protected, private的inheritance, 还有virtual的
inheritance吗?
谢谢
a**a
发帖数: 416
2
有啊. 看书没看仔细吧? 很早就有了. 虚拟继承解决的是祖先类的基类空间重复问题.

【在 e******r 的大作中提到】
: class FooTooBar:virtual FooToo, virtual Bar{
: public:
: FooTooBar(){std::cout<<"FooTooBar";}
: };
: 只听说过public, protected, private的inheritance, 还有virtual的
: inheritance吗?
: 谢谢

e******r
发帖数: 220
3

那要不要在FooToo 和Bar定义的时候也加上virtual, 换句话说, 下面的是不是
每个inherutance都要加上virtual? 我试了一下, 好象virtual inheritance的个数决定下面的例子的结果.

#include
class Foo
{
public:
Foo(){std::cout<<"Foo";}
};
class Bar: Foo
{
public:
Bar(){std::cout<<"Bar";}
};
class FooToo:virtual Foo
{
public:
FooToo(){std::cout<<"FooToo";}
};
class FooTooBar:virtual FooToo, virtual Bar{
public:
FooTooBar(){std::cout<<"FooTooBar";}
};
int main()
{
FooTooBar a;
return 0;
}

【在 a**a 的大作中提到】
: 有啊. 看书没看仔细吧? 很早就有了. 虚拟继承解决的是祖先类的基类空间重复问题.
1 (共1页)
进入Programming版参与讨论
相关主题
C++ 初学者请教一个 iostream 的问题C++ Q96: function inheritance (转载)
C++如何输入的一个小问题abstract Factory 的困惑
一个C++语法问题请教个virtual function的问题
大家来做题C++。a simple question for C++ class
C++ 弱问一个C++里面
C++疑问请教一个作用域的问题
private destructor[合集] C++问题(copy constructor)
C++ Q98: Call member function in virtual function (转载)关于c++的constructor的面试题
相关话题的讨论汇总
话题: footoobar话题: virtual话题: footoo话题: bar