Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Icelope
0 / 0 / 0
Регистрация: 18.01.2010
Сообщений: 12
#1

конструкторы - C++

10.10.2010, 05:42. Просмотров 394. Ответов 3
Метки нет (Все метки)

Доброе время суток!
Помогите разобраться с конструктором. Что это такое и с чем его едят. Так как сдала лабу преподавателю, ну вроде ж всё нормально, а вот надо ему конструкторы прицепить... а куда и зачем не понятно...
Задание звучит так:
создать порожденный класс, путем реализации характеристик:1.Измерения: название измеряемой величины, нижний предел, верхний предел, погрешность.2. Габариты: длина, высота, ширина.3. Вес.
4. Стоимость.
Заранее спасибо))


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
97
98
99
100
101
#include "stdafx.h"
#include "conio.h"
#include "iostream"
#include "string.h"
using namespace std;
 
struct gabariti{ 
float dlina;
float visota;
float wirina;
float ves;
char napriagenie[6];
char tok[6];
char chastota[10];};
 
class ground{
virtual void info()=0;};
 
class first:public ground{ 
 
protected: 
int x;
public:
first(int x1){x=x1;}
first(){x=1;}
char name [30];
gabariti a[3];
 
virtual void info(){};
 
void input_name(){
cout <<"\nVvedite nazvanie pribora: "<<endl;
cin>>name;};
 
void print_name(){
cout<<"\nIm'a pribora: "<<name<<endl;};
 
void input_gabariti(){
int i;
for (i=0; i<3; i++){
cout <<"\nVvedite dliny, visoty, wiriny i ves "<<i+1<<" -go pribora: "<<endl;
cin>>a[i].dlina>>a[i].visota>>a[i].wirina>>a[i].ves;}
};
 
void print_istochnik_pitania(){
strcpy(a[0].napriagenie,"220v");
strcpy(a[0].tok,"0.5A");
strcpy(a[0].chastota,"1400Gz");
cout<<"\nIstochnik pitania (napriagenie, tok, chastota): "<<a[0].napriagenie<<'\t'<<a[0].tok<<'\t'<<a[0].chastota<<endl;};
 
void print_gabariti(){
cout <<"\nGabariti 3 vidov pribora:\n";
int i;
for (i=0; i<3; i++) cout <<a[i].dlina<<' '<<a[i].visota<<' '<<a[i].wirina<<' '<<a[i].ves<<endl;};
 
void print_vse(){
int i;
cout<<name<<endl;
for (i=0; i<3; i++) cout <<'\t'<<a[i].dlina<<'\t'<<a[i].visota<<'\t'<<a[i].wirina<<'\t'<<a[i].ves<<endl;
};
};
 
class tree:public first{
public:
char nazv_velechini[10];
float min_predel;
float max_predel;
float pogrewnost;
 
virtual void info(){
first::info();
cout<<"\nVvedite nazvanie velechini, nijnii predel, verxnii predel, pogrewnost:\n";
cin>>nazv_velechini>>min_predel>>max_predel>>pogrewnost;};
 
void print_izmerenia(){
cout<<"\nIzmerenia:\n"<<nazv_velechini<<'\t'<<min_predel<<'\t'<<max_predel<<'\t'<<pogrewnost<<'\t'<<endl;};
};
 
int main(){
first x;
x.input_name();
x.print_name();
x.info();
x.input_gabariti();
x.print_gabariti();
x.print_istochnik_pitania();
 
x.print_vse();
 
tree y;
y.input_name();
y.print_name();
y.info();
y.print_izmerenia();
y.input_gabariti();
y.print_gabariti();
y.print_istochnik_pitania();
y.print_vse();
 
getch ();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2010, 05:42     конструкторы
Посмотрите здесь:

Конструкторы - C++
Почему, если класс имеет конструктор с параметрами у него обязательно должен быть конструктор по умолчанию?

Конструкторы C++ - C++
Объясните, пожалуйста, своими словами, что являют собой конструкторы, для чего они нужны, в чем их преимущество перед аналогичными...

Конструкторы - C++
#include&lt;iostream&gt; class A { public: A(int x) : _x(x) {} private: int _x; }; int main() ...

Конструкторы - C++
Объясните на пальцах, для чего нужны конструкторы?

Конструкторы и деструктор - C++
В общем, пишу прогу на классы. Уже написал (суть в том чтобы вывести значения диагоналей, периметра и площади ромба), но не заметил что...

Конструкторы и классы - C++
Определить класс список элементов. В определение класса включить два конструктора: для определения списка по его размеру и путем...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,930
Завершенные тесты: 1
10.10.2010, 13:18     конструкторы #2
В классе first уже есть 2 конструктора, один из которых (по умолчанию) даже используется. Хотя правильнее было бы их слить в один:
C++
1
first::first(int X=1): x(X) {}
К сожалению, специалистов по чтению мыслей вашего преподавателя найти будет, как мне кажется, не так легко, как хотелось бы.
Icelope
0 / 0 / 0
Регистрация: 18.01.2010
Сообщений: 12
12.10.2010, 21:50  [ТС]     конструкторы #3
А можно ли, к примеру, заменить методы ввода:

C++
1
2
3
void input_name(){
cout <<"\nVvedite nazvanie pribora: "<<endl;
cin>>name;};
и
C++
1
2
3
4
5
6
void input_gabariti(){
int i;
for (i=0; i<3; i++){
cout <<"\nVvedite dliny, visoty, wiriny i ves "<<i+1<<" -go pribora: "<<endl;
cin>>a[i].dlina>>a[i].visota>>a[i].wirina>>a[i].ves;}
};
соответствующими конструкторами???
Подскажите, пожалуйста)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2010, 23:09     конструкторы
Еще ссылки по теме:

Классы, конструкторы - C++
В понедельник последний день сдачи лабы. На выбор сделать одну из них: №1 Делать через классы и конструкторы. С использованием...

Конструкторы. синтаксис - C++
Добрый вечер! Не совсем понятно, как описываются конструкторы: что в круглых скобках, что в фигурных, когда нужно двоеточие. Например: ...

Указатели и конструкторы - C++
Всем доброго времени суток!!! Выполняя упражнение Лафоре 10 главы №1 написав и проверив всё столкнулся с такой проблемой. Проще...

Конструкторы по умолчанию. - C++
Здравствуйте, возник вопрос. Только что минут 10 въезжал что у меня не так. Суть вот в чем. Есть некий класс, в моем случае например digit....


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

Или воспользуйтесь поиском по форуму:
Crudelis
Шаровик затейник
672 / 414 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
12.10.2010, 23:09     конструкторы #4
конструкторы нужны для инициализации переменных при создании их в main, какие будут методы в классе, как их изменять конструктор к ним отношения не имеет. конструктору все равно
Yandex
Объявления
12.10.2010, 23:09     конструкторы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru