Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 5

Инициализация "переменной" в классе из Private

22.10.2012, 21:26. Показов 3312. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте всем. Помогите, пожалуйста, разобраться, я уже по-разному пробовал (и из всего бред получался, как вы понимаете). Мне нужно создать конструктор для инициализации данных вот такого класса:

C++
1
2
3
4
5
6
7
8
9
class Rectang
{
private:
   float   heigh;
   float   widt;
public:
   Rectang(float heigh, float widt);
   float Area();
};
Вот, в принципе что делает Area:

C++
1
2
3
4
float Rectang::Area()
{
   return(heigh*widt);
}
Понял только, что нужно вот это
C++
1
2
3
4
Rectang::Rectang(float heigh, float widt)
{
  
}
нужно делать вне каких-либо функций, но не пойму что тут нужно написать =(

Считываться значения должны из TEdit-полей.
Подскажите, пожалуйста, пример реализации данной задачи.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.10.2012, 21:26
Ответы с готовыми решениями:

Инициализация переменной в классе
Пытаюсь инициализировать в классе переменную и дальше ее использовать class Lines { double PI = 3.141592653589793238462; void...

Инициализация переменной в классе
Здравствуйте,как правильно объявлять поле (переменную) класса который разбит на заголовочный файл и на cpp, неправильно же инициализировать...

Инициализация переменной в шаблонном классе
Как правильно инициализировать шаблонную переменную в классе? Т.е. есть ли какая разница между x() и x( T() ) ? 1-й вариант ...

8
Модератор
 Аватар для vxg
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
22.10.2012, 23:24
я боюсь предположить...
C++
1
2
3
4
5
6
7
Rectang::Rectang(float heigh, float widt):
heigh(heigh),
widt(widt)
{}
...
Rectang xxx(StrToFloat(Edit1->Text), StrToFloat(Edit2->Text));
...
0
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 5
23.10.2012, 11:02  [ТС]
C++
1
2
heigh(heigh);
widt(widt);
Таких функций нету, а Edit-ы не хочет воспринимать таким и подобными образами, хотя на форме они есть. Я так полагаю, что нужно будет написать что-то вне этого, наподобие
C++
1
2
3
4
5
   float widt;
   float heigh;
   sscanf(Edit1->Text.c_str(), "%f", &widt);
   sscanf(Edit2->Text.c_str(), "%f", &heigh);
   Rectang q(heigh, widt);
И далее вывести результат, но я до сих пор не могу понять, что написать внутри этого
C++
1
2
3
Rectang::Rectang(float heigh, float widt)
{
}
Если просто оставить пустыми, то там площадью 0 ставится всегда =(
0
Модератор
 Аватар для vxg
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
23.10.2012, 11:55
где здесь вы видели функции heigh и widt? это не функции - это инициализация данных. напишите как написано и будет работать.
C++
1
2
3
4
Rectang::Rectang(float heigh, float widt):
heigh(heigh),
widt(widt)
{}
эдиты в том виде в котором они приведены мной должны восприниматься. он у вас как именно не хочет воспринимать их? что говорит?
1
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 5
23.10.2012, 12:28  [ТС]
Пишет E2314 Call of nonfunction.
И вдобавку ругается на то, что в {} нет ;

А если без этого писать,
C++
1
2
3
heigh(heigh),
widt(widt)
{}
то пишет E2451 Undefinied Symbol на 'Edit1' и на 'Edit2'
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
23.10.2012, 12:48
Fireinthehall
Приватные и защищенные переменные должны оканчиваться символом _ (где-то читал об этом; чтобы путаницы не возникло):

C++
1
2
3
4
5
6
7
class Rectang
{
private:
   float   heigh_;
   float   widt_;
...
};
И тогда:
C++
1
2
3
4
5
Rectang::Rectang(float heigh, float widt)
{
     heigh_ = heigh;
     widt_ = widt;
}
1
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 5
23.10.2012, 12:53  [ТС]
Спасибо, заработало!!!
0
Модератор
 Аватар для vxg
3409 / 2181 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
23.10.2012, 15:51
Цитата Сообщение от kzru_hunter Посмотреть сообщение
Приватные и защищенные переменные должны оканчиваться символом _
нет, просто наверное в той литературе были приняты такие соглашения об именах.
Цитата Сообщение от Fireinthehall Посмотреть сообщение
Пишет E2314 Call of nonfunction
Цитата Сообщение от Fireinthehall Посмотреть сообщение
И вдобавку ругается на то, что в {} нет
простите, но этого не может быть, вы пишете код отличающийся от того, что написано здесь. если приведете полностью, а не участок может что-то проясниться.
1
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 5
23.10.2012, 22:45  [ТС]
Написано только то, что написано здесь.
А в связи с тем, что он так ругался... Я погорячился, там лишние {...} стояли для данного способа. Я сразу : после Rectang::Rectang(float heigh, float widt) не заметил, подумал что оно должно стоять в {...}. Короче ступил, нужно передохнуть от беспрерывной учёбы, а то скоро вообще ничего понимать не смогу (и так уже мозги дают о себе знать).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.10.2012, 22:45
Помогаю со студенческими работами здесь

Инициализация статической переменной в базовом классе
Есть класс Tank. От этого класса будут наследники MyTank и EnemyTank. В классе Tank есть статическая переменная _hWnd, она общая для всех...

Инициализация переменной структуры, определенной в классе
Добрый день. Имеется такой код: #include<iostream> class Qwe { int cl; struct Bla {

Инициализация в производном классе переменной из базового класса
Привет подскажите пожалуйста, как правильно реализовать такое. Есть член переменная базового класса которая инициализируется в нем через...

Инициализация переменной MediaPlayer в другом классе
Есть код: MediaPlayer styk = MediaPlayer.create( this, R.raw.clicks); И в основном классе MainActivity он нормально работает. ...

Инициализация в private
Объясните пожалуйста в чем собственно заключается ошибка и как ее исправить. Зарание спасибо class Menu{ private: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru