2009-10-25 61 views
2

我知道一些语言允许这样做。在C++中可能吗?有没有办法调用被覆盖的对象的基类方法? (C++)

+0

你是说)从派生类中或b)从功能不相关的类? – 2009-10-25 02:35:38

+0

[C++:如何从派生类函数调用父类函数?]可能的重复?(http://stackoverflow.com/questions/357307/c-how-to-call-a-parent-class-function-from派生类函数) – outis 2012-04-22 00:05:56

回答

5

是:

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

是的,只是指定的基类的类型。

例如:

#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(); 
} 
2
class A 
{ 
    virtual void foo() {} 
}; 

class B : public A 
{ 
    virtual void foo() 
    { 
    A::foo(); 
    } 
}; 
相关问题