class TMyPanel : public TPanel{
int number;
public:
TMyPanel(Classes::TComponent* AOwner) :TCustomPanel(AOwner) { }
int getNumber(){return number;}
int setNumber(int new_number){number = new_number;}
};
Расширить класс
Как можно добавить классу какое-либо свойство, ну и методы get, set этого свойства.
В частности нужно добавить в TPanel свойство number. Делаю так
Код:
но выдает ошибку типа E2113 Virtual function 'TMyPanel::TMyPanel(TComponent *)' conflicts with base class 'TPanel'
воть, как прально сделать?
Код:
class TMyPanel : public TPanel{
int number;
public:
TMyPanel(Classes::TComponent* AOwner) :[COLOR=red]TPanel[/COLOR](AOwner) { }
int getNumber(){return number;}
int setNumber(int new_number){number = new_number;}
};
int number;
public:
TMyPanel(Classes::TComponent* AOwner) :[COLOR=red]TPanel[/COLOR](AOwner) { }
int getNumber(){return number;}
int setNumber(int new_number){number = new_number;}
};
Успехов!
к огромному моему сожалению, это я уже пробывал, возвращает ту же ошибку :(
Цитата:
Originally posted by BeOne
к огромному моему сожалению, это я уже пробывал, возвращает ту же ошибку :(
к огромному моему сожалению, это я уже пробывал, возвращает ту же ошибку :(
Код:
//-----------------------------------------------class TMyPanel : public TPanel{
int number;
public:
[COLOR=red]__fastcall virtual[/COLOR] TMyPanel(Classes::TComponent* AOwner) :TPanel(AOwner) { }
int getNumber(){return number;}
int setNumber(int new_number){number = new_number;return 1;}
};
//-----------------------------------------------
int number;
public:
[COLOR=red]__fastcall virtual[/COLOR] TMyPanel(Classes::TComponent* AOwner) :TPanel(AOwner) { }
int getNumber(){return number;}
int setNumber(int new_number){number = new_number;return 1;}
};
//-----------------------------------------------
Прости. Забыл все поменять.
P.S. На будущее - компилятор же говорил, что конструктор (вирутальный) конфликтует...
спасиб, усе уже решил сам...именно так, еще раз спасибо