有没有办法调用被覆盖的对象的基类方法? (C++)
答
是:
#include <iostream>
class X
{
public:
void T()
{
std::cout << "1\n";
}
};
class Y: public X
{
public:
void T()
{
std::cout << "2\n";
X::T(); // Call base class.
}
};
int main()
{
Y y;
y.T();
}
答
是的,只是指定的基类的类型。
例如:
#include <iostream>
struct Base
{
void func() { std::cout << "Base::func\n"; }
};
struct Derived : public Base
{
void func() { std::cout << "Derived::func\n"; Base::func(); }
};
int main()
{
Derived d;
d.func();
}
答
class A
{
virtual void foo() {}
};
class B : public A
{
virtual void foo()
{
A::foo();
}
};
你是说)从派生类中或b)从功能不相关的类? – 2009-10-25 02:35:38
[C++:如何从派生类函数调用父类函数?]可能的重复?(http://*.com/questions/357307/c-how-to-call-a-parent-class-function-from派生类函数) – outis 2012-04-22 00:05:56