Zastanawiam się, czy możliwe jest dodanie metod w programie głównym do istniejącej klasy zdefiniowanej w pliku nagłówkowym. Na przykład: Jest class CFun
zdefiniowane w pliku CFun.hpp
, ale w naszym party.cpp
chcemy dodać metodę void hello() {cout << "hello" << endl;};
bez edytowania CFun.hpp
C++ dodawanie metody do klasy zdefiniowanej w pliku nagłówkowym
Oczywiście (niestety) budowa:
#include "CFun.hpp"
class CFun
{
public:
void hello() {cout << "hello" << endl;};
};
nie działa Zwracanie błąd Multiple declaration for 'CFun'
Czy można to zrobić bez dziedziczenia klas?
należy mu powiedzieć, funkcja musi być w tej samej przestrzeni nazw, takich jak klasa. inaczej po prostu nazywając Hello (some_cfun); nie znajdzie cześć. musiałbyś napisać foo :: Hello (some_cfun); wtedy (ADT nie będzie wtedy działać) –