Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблемма с классом 
:(
    Опции темы
Elerond
Дата 17.10.2008, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Здравствуйте. Не могу решить проблему, ни как в тол не возьму что хочет от меня компилятор. 
Вот собственно код:
Код

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
class TAccount
{
  public:
  char LastName;
  char Number;
  double Percent;
  double Money;
  TAccount (char, char, double, double);
};
//---------------------------------------------------------------------------
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
TAccount::TAccount (char lastname, char number, double percent, double money) {
   LastName = lastname;
   Number = number;
   Percent = percent;
   Money = money;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TAccount *Account = new TAccount(Edit1->Text.c_str(), Edit2->Text.c_str(), StrToFloat(Edit1->Text), StrToFloat(Edit1->Text));
    delete Account;
}
//---------------------------------------------------------------------------

А вот текст сообщения:
[C++ Error] Unit1.cpp(36): E2285 Could not find a match for 'TAccount::TAccount(char *,char *,long double,long double)'
ругается на этот участок:
Код

   TAccount *Account = new TAccount(Edit1->Text.c_str(), Edit2->Text.c_str(), StrToFloat(Edit1->Text), StrToFloat(Edit1->Text));

--------------------
Мой блог
PM MAIL WWW   Вверх
586
Дата 17.10.2008, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

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



Цитата(Elerond @  17.10.2008,  20:25 Найти цитируемый пост)
TAccount (char, char, double, double);

Должно быть TAccount (char*, char*, double, double);

Но такой код будет работать неправильно. Поэтому используй String вместо char*:
Код

class TAccount
{
  public:
  String LastName;
  String Number;
  double Percent;
  double Money;
  //TAccount (String, String, double, double);
  TAccount (const String &, const String &, double, double);   // передача ссылок на String в целях оптимизации
};

TAccount::TAccount (const String &lastname, const String &number, double percent, double money)
    : LastName(lastname), Number(number), Percent(percent), Money(money)
{
   /*LastName = lastname;
   Number = number;
   Percent = percent;
   Money = money;*/
}


Это сообщение отредактировал(а) 586 - 17.10.2008, 19:43
PM   Вверх
Elerond
Дата 17.10.2008, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



586, Спасибо. Все работает, просто вот эту запись:
Код

TAccount::TAccount (char lastname, char number, double percent, double money) {
   LastName = lastname;
   Number = number;
   Percent = percent;
   Money = money;
}

я нашел где то в статье по С++  Builder

Вот и верь потом тому что написанно.  smile 

--------------------
Мой блог
PM MAIL WWW   Вверх
Elerond
Дата 17.10.2008, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Наверное кому то покажется глуппым (раньше я только на делфи работал, а там проще такие вещи делаются), но теперь такая проблема:

Я по щелчку на кнопке создаю экземпляр класса:
Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TAccount *Account = new TAccount(Edit1->Text, Edit2->Text, StrToFloat(Edit1->Text), StrToFloat(Edit1->Text));

   // delete Account;
}


Но мне надо что бы он был глобальным, что бы при нажатии на другие кнопки его можно было изменить... вот тут и завис... не получается он у меня глобальным...

Добавлено через 1 минуту и 43 секунды
Книгу не успеваю читать, так что простите за глупые вопросы... и как вышло по первому вопросу там иногда чушь написана.
--------------------
Мой блог
PM MAIL WWW   Вверх
dumb
Дата 18.10.2008, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


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

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



Unit1.h:
Код

class TAccount
{
...
};

class TForm1 : public TForm
{
//private:
    TAccount *Account;

__published:    // IDE-managed Components
...

Unit1.cpp:
Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Account = new TAccount(Edit1->Text, Edit2->Text, StrToFloat(Edit1->Text), StrToFloat(Edit1->Text));
...

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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