Possible Duplicate:
Is there a way to call an object's base class method that's overriden? (C++)
第一个问题是在 java 中调用 super() 构造函数,就像在 c++ 中首先初始化父类(super class)构造函数一样。
sub() : super(){}
有没有办法像在java中一样在c++中调用父类(super class)方法
例如
public sub(){
super.someMethod();
}
要调用类的基类构造函数,您可以将其称为 BaseClassName(args)
。例如:
class A
{
public:
A() { }
virtual void Foo() { std::cout << "A's foo" << std::endl; }
};
class B : public A
{
public:
B() : A() { }
void Foo();
};
要调用方法的基类版本,您可以执行 BaseClassName::MethodName
:
void B::Foo()
{
std::cout << "B's foo" << std::endl;
A::Foo();
}