第一个问题是在java中调用super()构造函数与在c ++中首先初始化超类构造函数一样.
sub() : super(){}
Run Code Online (Sandbox Code Playgroud)
有没有办法像在java中一样在c ++中调用超类方法
恩.
public sub(){
super.someMethod();
Run Code Online (Sandbox Code Playgroud)
}
要调用类的基础构造函数,请将其称为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();
};
Run Code Online (Sandbox Code Playgroud)
要调用方法的基类版本,请执行以下操作BaseClassName::MethodName:
void B::Foo()
{
std::cout << "B's foo" << std::endl;
A::Foo();
}
Run Code Online (Sandbox Code Playgroud)