Мне интересно, можно ли добавлять методы в основной программе к существующему классу, определенному в файле заголовка. Например: Существует class CFun
определено в файле CFun.hpp
, но в нашем party.cpp
мы хотим добавить метод void hello() {cout << "hello" << endl;};
без редактирования CFun.hpp
C++ метод добавления к классу, определенному в файле заголовка
Очевидно (к сожалению) строительство:
#include "CFun.hpp"
class CFun
{
public:
void hello() {cout << "hello" << endl;};
};
не работает возвращая error Multiple declaration for 'CFun'
Можно ли заставить его работать без наследования классов?
вы должны сказать ему, что функция должна быть в том же пространстве имен, как класс. иначе просто вызовите Hello (some_cfun); не найдет Hello. вам нужно написать foo :: Hello (some_cfun); тогда (ADT не будет работать тогда) – 2008-11-28 17:27:55