Форум — Ответы     (  К темам )
 ?  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++!!!!!!