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

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

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

Заменить конструкторы на конструктор по умолчанию - C++

10.12.2012, 20:40. Просмотров 353. Ответов 5
Метки нет (Все метки)

Подскажите,пожалуйста, как изменить код программы, чтобы вместо конструктуров был конструктор по умолчанию,а программа работала по прежнему(изменить нужно только в class.h)

Код программы:
class.h

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
class Rectangl5
{
private:
float height;
float width;
static int count;
public:
Rectangl5(float Height, float Width);
Rectangl5(float Side);
Rectangl5(Rectangl5& R);
~Rectangl5();
float Area();
static int Count() { return(count); }
};
 
int Rectangl5::count = 0;
 
class.cpp
 
float Rectangl5::Area()
{
return(height*width);
}
 
 
Rectangl5::Rectangl5(float Height, float Width)
{
height = Height;
width = Width;
char buf[128];
sprintf(buf, "Создан прямоугольник %g x %g", height, width);
ShowMessage(buf);
count++;
}
 
 
Rectangl5::Rectangl5(float Side)
{
height = Side;
width = Side;
char buf[128];
sprintf(buf, "Создан прямоугольник %g x %g", height, width);
ShowMessage(buf);
count++;
}
 
 
Rectangl5::Rectangl5(Rectangl5& R)
{
height = R.height;
width = R.width;
char buf[128];
sprintf(buf, "Создан прямоугольник %g x %g", height, width);
ShowMessage(buf);
count++;
}
 
Rectangl5::~Rectangl5()
{
char buf[128];
sprintf(buf, "Удален прямоугольник %g x %g", height, width);
ShowMessage(buf);
count--;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2012, 20:40     Заменить конструкторы на конструктор по умолчанию
Посмотрите здесь:

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

Как написать конструкторы копирования, инициализации и конструктор без аргументов? - C++
Как написать конструкторы копирования, инициализации и конструктор без аргументов? Вот код #include <iostream> using namespace...

Что такое конструкторы классов, копирования, по умолчанию с запретом неявного приведения аргументов? - C++
Что такое конструкторы классов, конструкторы копирования, конструкторы по умолчанию и конструкторы с запретом неявного приведения...

Написать класс «массив» (В классе реализовать следующие методы: конструкторы (по умолчанию, с параметрами,) - C++
помогите пожалуйста! необходимо: 1. Написать класс «массив». 2. В классе реализовать следующие методы: конструкторы (по умолчанию, с...

Конструктор по умолчанию - C++
Всем привет! Если в классе вообще нет конструктора, чем будут инициализироваться члены класса? И в чем отличие объект() и объект...

Конструктор по умолчанию - C++
У меня получается создавать конструктор по умолчанию если в хедере эти значения указаны: class Unit { protected: string name; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Buildog
40 / 40 / 2
Регистрация: 29.04.2012
Сообщений: 185
10.12.2012, 21:02     Заменить конструкторы на конструктор по умолчанию #2
Ёмоё... теги для кода, а то читать без подсветки крайне неудобно, а конструктор по умолчанию, это конструктор с пустыми скобками
C++
1
2
3
4
Rectangl5::Rectangl5()
{
//Тело функции, где ты задаешь вручную параметры например float Height, float Width
}
DU
1482 / 1058 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
10.12.2012, 21:12     Заменить конструкторы на конструктор по умолчанию #3
C++
1
2
3
4
5
6
конструктор копирования кстати должен быть такой:
Rectangl5::Rectangl5(const Rectangl5& R);
 
иначе:
const Rectangl5 rect1(1, 1);
const Rectangl5 rect2(rect1); // упс
McToNy
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 20
10.12.2012, 21:16  [ТС]     Заменить конструкторы на конструктор по умолчанию #4
Buildog,спасибо) а мне подсказали вариант ответа:
C
1
2
Rectangl5(float Side=0);
Rectangl5(float Height=0, float Width=0);
это неверно будет?
DU благодарю за замечание=)
Buildog
40 / 40 / 2
Регистрация: 29.04.2012
Сообщений: 185
10.12.2012, 21:23     Заменить конструкторы на конструктор по умолчанию #5
Ну я бы предпочел написать всё же явно... ну по-моему так удобнее
C++
1
2
3
4
5
6
Rectangl5::Rectangl5()
{
height=0;
weight=0; //Значения ведь сразу в класс заносятся, но сделай по умолчанию прямоугольник допустим 5 на 5
...
}
и в вызове main
C++
1
2
3
4
5
int main()
{
Rectangl5 Rectangle; //Вызывается конструктор по умолчанию для создания прямоугольника
...
}
Добавлено через 38 секунд
Возможно, как ты написал тоже верно будет) Просто существует несколько вариантов записей, и я не совсем уверен
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2012, 21:27     Заменить конструкторы на конструктор по умолчанию
Еще ссылки по теме:

Конструктор по умолчанию - C++
Показывает ошибку : 1 IntelliSense: для класса "tovar" не существует конструктор по умолчанию Подскажите пожалуйста как сделать ...

Конструктор по умолчанию - C++
Доброе утро! При попытке доступа к данным-элементам объекта, созданного конструктором по умолчанию, программа загибается. Возникло...

Конструктор по умолчанию - C++
Я то ли динамику недопоняла, то ли классы, то ли конструктор... И теперь совсем запуталась. Что нужно написать в конструкторе без...

Конструктор по умолчанию - C++
как использовать конструктор по умолчанию в конструкторе с параметром? К по умолчанию заполняет массив заранее определёнными символами, а...

Конструктор по умолчанию - C++
Здравствуйте, есть такой код: explicit RFileDownloader(QObject *parent = 0); explicit RFileDownloader(const QUrl &url = QUrl(),...

Конструктор по умолчанию - C++
Здраститя. #include <iostream> using namespace std; class random { public: random(int b){a=b;} ~random(){} int...


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

Или воспользуйтесь поиском по форуму:
McToNy
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 20
10.12.2012, 21:27  [ТС]     Заменить конструкторы на конструктор по умолчанию #6
спасибо)
Yandex
Объявления
10.12.2012, 21:27     Заменить конструкторы на конструктор по умолчанию
Ответ Создать тему
Опции темы

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