Форум — Ответы ( К темам )
? | Dracula: Помогите ламеру! (24-03-2003 10:31:48) |
Люди, помогите пожалуйста ламеру, совсем недавно начавшему писать на c++builder'e! Сталкнулся со следующей проблемой: создаю класс новый класс, в котором объявляются переменные и операторы. При попытке присвоить переменной типа float значение поля TEdit постоянно сталкиваюсь с ошибкой. Пишу дословно следующее (после обратотчиков событий нажатия всех кнопок в форме): class T1 { ... float x; x = StrToFloat(Edit1->Text); ... } Что может быть не так? Может надо конструктор определить (или он автоматически создается при создании класса?)? Заранее огромное СПАСИБО! | |
Павел (24-03-2003 14:13:36) | |
Так напиши какую ошибку тебе выдает компилятор. Но судя по всему — все не так ! Абсолютно неправильное понятие и использование классов. Лечение: 1. книга Г.Шилдт "Самоучитель по С++" 2. книга Архангельского А.Я. "Программирование в С++Builder 6" | |
Dracula (24-03-2003 14:31:21) | |
Я как раз по Архангельскому и шпарю. А ошибку он выдает про то, что мол не не может разместить в памяти. Если я этот фрагмент пишу не в теле класса, то все нормально!!! Ну в чем может быть проблема???? | |
Владимир (24-03-2003 17:35:33) | |
Давайте разбираться: что именно Вы хотите сделать, и что не устраивает в следующем коде модуля Unit1.cpp //--------------------------------------------------------------------------- #include < vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; class T1 // объявляем класс T1 { private: float x; public: T1() { x = 0; } // конструктор T1(AnsiString s) { x = StrToFloat(s); } // конструктор AnsiString GetX() { return FloatToStr(x); } void SetX(AnsiString s) { x = StrToFloat(s); } }; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { T1 myt(Edit1->Text); // создаем переменную myt класса T1 Edit2->Text = myt.GetX(); //---- или T1 myt2; // создаем переменную myt2 класса T1 myt2.SetX(Edit2->Text); } //--------------------------------------------------------------------------- | |
Dracula (24-03-2003 17:41:05) | |
Блин, просто гигантское СПАСИБО! Мои вопросы испарились! Еще раз спасибо, очень помогли в освоении этого прекрасного C++!!!!!! |