c++ - C++如何调用派生类的基类方法?

标签 c++

<分区>

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();
}

关于c++ - C++如何调用派生类的基类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10264119/

相关文章:

c++ - thread-local static uniform_int_distribution,是否会针对不同的min、max集合重新创建?

c++ - Windows 中崩溃进程的可预测退出代码

c++ - shared_ptr 构造函数的异常安全

c++ - 如果未调用某些函数,我可以强制编译器出错吗?

android - all-proto-files-under 不适用于 android.mk

c++ - 如何计算二维数组中的重复项数? (C++)

c++ - 如何使用位域从 C++ 结构中提取值

c++ - 为什么 using 指令不是 "associate"与普通函数?

C++ Double 到 Int 转换复杂化

c++ - Visual Studio 2015 C2011 'Class' 类型重定义