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

Как реализовать набор конструкторов и деструкторов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ найти ошибку? http://www.cyberforum.ru/cpp-beginners/thread1076977.html
#include <iostream> using namespace std; int main() { int x, y; x = 10; y = 3; cout << õ/ó; // Áóäåò îòîáðàæåíî ÷èñëî 3.
C++ Параметры шаблона как в общем можно объяснить то что находиться в угловых скобках после template, я понимаю что template <список параметров> http://www.cyberforum.ru/cpp-beginners/thread1076973.html
Найти сумму 10 членов ряда C++
Найти сумму 10 членов ряда, в котором an=n!/n^sqrt(n)
C++ Вывод элементов массива, стоящих на четных позициях, а затем – на нечетных
добрый времени суток помогите решить задачку: разработайте программу, в которой реализован ввод элементов одномерного массива и вывод сначала элементов, стоящих на четных позициях, а затем – на нечетных, количество которых определяется пользователем.
C++ Как сделать, чтобы не закрывалось окно командной строки? http://www.cyberforum.ru/cpp-beginners/thread1076940.html
после исполнения оно закрывается. Не посмотреть результат(((
C++ Хочу вывести четные элементы массива //--------------------------------------------------------------------------- #include <vcl.h> #include <stdio.h> #include <conio.h> #include <time.h> #include <iostream.h> #pragma hdrstop //--------------------------------------------------------------------------- подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
21.01.2014, 01:40     Как реализовать набор конструкторов и деструкторов
Цитата Сообщение от FSC Посмотреть сообщение
Возник вопрос: как обьявить три конструктора?
аналогично перегрузке функции.
Только хотел бы уточнить по заголовку темы: деструктор может быть только один.
Изначально комилятор автоматически генерирует конструктор по-умолчанию, копирующий конструктор и, в случае С++11, move-конструктор. Если мы явно описываем какой-либо конструктор, то тот, что по умолчанию не создается.
Вот три конструктора по вашему варианту:
C++
1
2
3
4
5
6
7
8
9
class Time  //начало объявления класса
{
public:     //начало раздела public
    Time() : ntime = 0 {}
    Time(const int sec) : ntime(sec) {}
    Time(const char *s) : ntime(std::atoi(s)) {} // just for example
private:                
    int ntime;              
};
Деструктор, копирующий конструктор вам самим описывать не нужно так как не идет работа с динамической памятью, подойдет и тех, который компилятор генерирует автоматически.
Итого класс сгенерирует 3 конструктора который вы описали + 1 копирующий создаст сам + возможно еще 1 мув конструктор(С++11).

Добавлено через 2 минуты
Кстати, прошу обратить внимание на список инициализации в конструкторе. Практически всегда советую использовать именно его т.к. создание переменных совмещено с инициализацией.
 
Текущее время: 03:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru