dziedziczenie typów wbudowanych
Ostatnio zmodyfikowano 2017-03-05 10:38
Nazgul Temat założony przez niniejszego użytkownika |
dziedziczenie typów wbudowanych » 2017-03-05 00:13:26 Dzień dobry, Chciałbym mieć klasę, która przykrywa niektóre operatory zmiennej i pozwala na reagowanie w momencie modyfikacji zmiennej. template < class type > class Tracked : public type { public: Tracked( void( * func )() ) { function = func; } Tracked() { function =[]()->void { }; } Tracked < type > operator =( const type & right ) { *(( type * ) this ) = right; function(); return * this; } private: void( * function )(); };
Jednak mogę tutaj wstawiać w szablon tylko klasy stworzone przeze mnie, a chciałbym jeszcze wstawiać np. int, float itd. Jest taka opcja? |
|
michal11 |
» 2017-03-05 01:23:03 Nie, nie można dziedziczyć z typów podstawowych, zresztą one nie mają żadnych metod wiec twoja klasa dla dziedziczenia z np. inta nie miała by sensu. |
|
Nazgul Temat założony przez niniejszego użytkownika |
» 2017-03-05 10:27:33 Słabo.. no nic, to trzeba będzie to zrobić trochę brzydziej;P Dzięki za info;)
|
|
mokrowski |
» 2017-03-05 10:38:54 Możesz to zrobić funkcjami operatorów. Tylko.. powinno pojawić się pytanie czy naprawdę]/b] jest Ci to potrzebne? Nie lepiej hermetyzować dostęp do atrybutu w klasie i zrobić to w sposób naturalny? |
|
« 1 » |