2012-04-09 4 views
3

Можно создать дубликат:
How to use base class's constructors and assignment operator in C++?Как использовать оператор родительского класса?

class A 
{ 
protected: 
    void f(); 
} 

class B : public A 
{ 
protected: 
    void f() 
    { 
     A::f(); 
    } 
} 

Мы можем использовать функцию родительского класса таким образом, но я не знаю, как использовать оператор родительского класса.

+0

(я догадался, что это C++, пожалуйста, поправьте, если я угадал, отредактировав ваш вопрос и поставить соответствующий тег языка.) – Mat

+0

http://stackoverflow.com/ questions/1226634/how-to-use-base-class-constructors-and-assign-operator-in-c имеет несколько примеров вызова операторов из родительского класса в C++ – Mat

ответ

6

Операторы пользовательских типов - это просто функции-члены с фанковыми именами. Таким образом, он идет довольно аналогично вашему примеру:

#include <iostream> 

class A 
{ 
protected: 
    A& operator++() { std::cout << "++A\n"; return *this; } 
}; 

class B : public A 
{ 
public: 
    B& operator++() 
    { 
     A::operator++(); 
     return *this; 
    } 
}; 


int main() 
{ 
    B b; 
    ++b; 
} 
Смежные вопросы