Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
3 / 3 / 1
Регистрация: 14.01.2013
Сообщений: 137

Ошибка при вызове метода класса-наследника

12.10.2014, 21:29. Показов 1454. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите не знаю что не правильно сделать выходит что в мемо выводит с класса родителя все нормально методом inform()
а вот с наследника не выводит выдает ошибку




C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
 
class operators
{
        protected:
        String name; int min; float s;
        public:
        operators(String iname,int imin, float is):name(iname), min(imin), s(is){}
        float rachest(){return 100*s/min;};
        String inform(){String s= name+" "+"Q="+FloatToStr(rachest()); return s;};
};
class operators2: public operators
{
        private:
        int d;
        public:
        operators2(String tname,int tmin, float ts, int td):operators(name,min,s),d(td){}
        float rachest2(){float q =operators::rachest(); if(d){return 0.7*q;}else{return 1.5*q;}};
        String inform2(){String s= name+" "+"Q="+FloatToStr(rachest2()); return s;};
};
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String name=Edit1->Text;
int min=StrToInt(Edit2->Text);
float s=StrToFloat(Edit3->Text);
operators one(name,min,s);
Memo1->Lines->Add(one.inform());
 
int d;
if(CheckBox1->Checked==true){
 d = true;
}else d = false;
 
operators2 two(name,min,s,d);
Memo1->Lines->Add("èçìåðåíîå êà÷åñòâî "+ two.inform2());
 
 
 
 
 
 
 
/*
 
 
p0= new operators(name,min,s);
Memo1->Lines->Add(p0->inform());
int p;
if(CheckBox1->Checked==true){
 p = true;
}else p = false;
 
p1= new  operators2 (name,min,s,p);
Memo1->Lines->Add("èçìåðåíîå êà÷åñòâî "+ p1->inform());
 
*/
 
Edit1->Clear();
Edit2->Clear();
Edit3->Clear();
 
     
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit1->Clear();
Edit2->Clear();
Edit3->Clear();
 
Memo1->Clear();
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Close();        
}
//---------------------------------------------------------------------------
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.10.2014, 21:29
Ответы с готовыми решениями:

Ошибка при реализации метода класса
Всем здрасьте. Возникла проблема при реализации метода класса. Никак не могу понять, в чём дело. Помогите, пжалста :/ Объявление...

Ошибка при вызове метода класса в методе другого класса
Господа программисты, возникла такая проблема. При вызове метода класса в методе другого класса выходит такая ошибка &quot; нестандартный...

Ошибка при вызове метода класса
После вызова метода getSize() на вызове метода getData() программа крашится. Если вызвать объект сразу инициализированный Array...

4
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33411 / 21521 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
12.10.2014, 21:44
Кто ж так конструктор пишет?

Нужно вот так:
C++
1
operators2(String tname,int tmin, float ts, int td):operators(tname,tmin,ts),d(td){}
, теперь все поля базового класса проинициализированы теми значениями, которые ты передал в потомок, а не мусором всяким...
0
3 / 3 / 1
Регистрация: 14.01.2013
Сообщений: 137
12.10.2014, 22:01  [ТС]
подскажите как правильно сделать

Добавлено через 6 минут
создать методы для получения значений переменных класса родителя может так?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33411 / 21521 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
12.10.2014, 22:09
Лучший ответ Сообщение было отмечено vinovachuk как решение

Решение

Я написал, как правильно сделать: передавать предку те значения, которые были переданы в конструктор потомка...
1
3 / 3 / 1
Регистрация: 14.01.2013
Сообщений: 137
12.10.2014, 22:15  [ТС]
спасибо просто уже долго сижу голова уже не варит ничего
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.10.2014, 22:15
Помогаю со студенческими работами здесь

Ошибка при вызове метода класса
ошибка возникает когда я вызываю метод ti #include &lt;iostream&gt; using namespace std; class general { protected: int...

Выдаётся ошибка при вызове метода класса
При запуске программа начинает работать правильно, но при попытке вызвать метод класса, предназначенный для вывода данных на экран,...

Ошибка при вызове метода класса, при чтении из файла
добрый день, пытаюсь считать данные из и запихнуть их в список в файле у меня вот такие данные a01 b10 А и Б надо запихнуть в...

Ошибка в вызове метода класса
Почему ошибка в строке 76 и 82? Покажите мне пожалуйста! #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;cstring&gt; ...

Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи!
Доброго всем времени суток! подскажи пожалуйста как исправить ошибку: Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Контроль корректности заполнения дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
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
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru