Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание класса, Ошибка при добавлении поля типа TStrings 
:(
    Опции темы
Proximo_RZN
Дата 5.12.2004, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 16.3.2004
Где: Рязань

Репутация: нет
Всего: нет



Такой текст:

class TEasyAnswer {
public:

void SetAnswer(UCHAR Ans);

void SetFormulation(TStrings Form);

UCHAR GetAnswer(void);

TStrings GetFormulation(void);
private:
UCHAR Answer;
TStrings Formulation;
};

При компиляции BCB5 говорит:
[C++ Error] ANSWERS.HPP(24): E2352 Cannot create instance of abstract class 'TStrings'
[C++ Error] ANSWERS.HPP(24): E2353 Class 'TStrings' is abstract because of '_fastcall TStrings::Get(int) = 0'
[C++ Error] ANSWERS.HPP(24): E2459 VCL style classes must be constructed using operator new

Как же тогда нужно создавать поле такого типа???
Добавлено @ 16:50
Сорри. Доперло в чем проблема.... Я просто сижу с температурой и бошка пухнет...


2 Admin: тему можно удалять. Мои извинения.
PM MAIL ICQ   Вверх
Vyacheslav
Дата 7.12.2004, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Во-первых: TStrings - абстрактны й класс и его объекты создавать нельзя. Нужно использовать производные от него классы, например - TStringList
Во-вторых: TStrings - производный от ТObject, т.е является VCL классом. А их экземрляры можно создавать только через new
Вот так пройдет
Код

class TEasyAnswer {
public:

void SetAnswer(UCHAR Ans);

void SetFormulation(TStrings Form);

UCHAR GetAnswer(void);

TStrings* GetFormulation(void);
private:
UCHAR Answer;
TStrings* Formulation;
};





--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0396 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.