【发布时间】:2011-09-02 04:01:38
【问题描述】:
即使我认为这个问题很愚蠢。但我有一点经验。
我有一个具有这种方法的基类:
class A{ virtual void func(int)=0 };
和继承的类
class B :public A
{
//how should i write?
//a
virtual void func() { implementation...}
//b
void func() {implementation }
//my target is to redefine a function of ansestor
//i worry that variant b can cover ansestor function and i will not redefine it
//but what if i don't want that the function that was virtual in ansestor, will be virtual in subclass?
i'm confused
}
我不知道该怎么做。如果我不需要这个虚函数完成
【问题讨论】:
-
你有一本关于 C++ 的书吗?这类问题可以通过阅读专门讨论“继承”的章节来回答。
-
你想通过使重新定义的函数变为非虚拟来实现什么?
-
virtual 关键字在派生类中是可选的,因此您定义了两次相同的函数。
-
他在询问重写函数时是否需要
virtual。他担心在派生类中省略关键字可能会隐藏祖先函数。但如果它不隐藏函数,那么他想知道,如果他真的确实想用非虚拟函数隐藏它怎么办?