Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
#1

Конструктор по умолчанию - C++

01.08.2013, 00:37. Просмотров 835. Ответов 13
Метки нет (Все метки)

как использовать конструктор по умолчанию в конструкторе с параметром? К по умолчанию заполняет массив заранее определёнными символами, а при вызове конструктора с параметром происходит все тоже самое, только заменяется один символ могу конечно добавить в него код заполнения массива, но мб можно все по красивому сделать? или даже функцию заполнения отдельно написать, которая будет вызываться в каждом из конструкторов?
и побыстрее с ответом, то через 24 минуты интернет вырубят
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2013, 00:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Конструктор по умолчанию (C++):

Будет ли определен компилятором конструктор по умолчанию, если есть конструктор с дефолтным параметром? - C++
Добрый день, сразу к делу, есть некий класс class some { int x; public: some(int y = 1) : x(y) {} };

Создать класс. Написать конструктор по умолчанию, конструктор с параметрами. Перегрузить операции «меньше» и «равно» - C++
Помогите пожалуйста, хоть с одним из заданий. 1. Создать класс. Написать конструктор по умолчанию, конструктор с параметрами....

Можно ли использовать конструктор по умолчанию и конструктор инициализации одновременно? - C++
Можно ли использовать конструктор по умолчанию и конструктор инициализации одновременно?

Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор - C++
Всем доброго времени суток! нужна ваша помощь! нужно создать класс вектор и реализовать конструктор по умолчанию, копирования и...

Конструктор класса не видит конструктор по умолчанию другого класса - C++
Ошибка, естественно, в Classes.cpp, в строке 20. Ругается, что у класса TailNode нет конструктора по умолчанию, хотя он там, конечно, есть....

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

13
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
01.08.2013, 00:42 #2
Цитата Сообщение от Хулиган Посмотреть сообщение
или даже функцию заполнения отдельно написать, которая будет вызываться в каждом из конструкторов?
Если я правильно понял вопрос, то да, раньше так и делали.
Цитата Сообщение от Хулиган Посмотреть сообщение
как использовать конструктор по умолчанию в конструкторе с параметром?
В C++11 можно так:
C++
1
2
3
4
struct A{
   A ( int x ) { }
   A () : A ( 100500 ) { }
};
1
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
01.08.2013, 00:44 #3
А так разве нельзя?
C++
1
2
3
4
struct A
{
   A (int x = 100500) { }
};
1
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.08.2013, 00:44 #4
В констукторе по умолчанию задать параметр по умолчанию.
1
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
01.08.2013, 00:57  [ТС] #5
у меня в конструкторе по умолчанию строится типо "рамка окна" пустая, а при вызове К с параметром я думал построить рамку конструктором по умолчанию и внутри неё заменить один символ, мб тогда вообще обойтись одним конструктором, который при получении 0 будет создавать пустую рамку, а при получении значения будет выводить его)) все походу я понял
4 минуты осталось(( всем спасибо!
0
Tulosba
01.08.2013, 10:44
  #6

Не по теме:

Цитата Сообщение от Хулиган Посмотреть сообщение
и побыстрее с ответом, то через 24 минуты интернет вырубят
Dial-up что ли или ночной пакет мобильного интернета?

0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6509 / 3146 / 307
Регистрация: 04.12.2011
Сообщений: 8,706
Записей в блоге: 5
01.08.2013, 12:28 #7
Цитата Сообщение от Хулиган Посмотреть сообщение
как использовать конструктор по умолчанию в конструкторе с параметром?
Конструктор вызывается для экземпляра. Как же запустить конструктор в конструкторе? Хоть в списке, хоть в теле, - не должно запуститься. Это же не связь базового с наследником, а один и тот же экземпляр? С другой стороны, даже если бы это было возможно, то при выходе из определения внешнего конструктора экземпляр созданный внутренним уничтожился бы? Где-то читал, что в С# оно как-то так работает для типов ссылок. Но тут не уверен.
1
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
01.08.2013, 12:34  [ТС] #8
Цитата Сообщение от Tulosba Посмотреть сообщение
Dial-up что ли или ночной пакет мобильного интернета?
интернет нужно оплачивать наперёд, если не оплатил то ночью по окончании месяца его вырубают(
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
01.08.2013, 12:37 #9

Не по теме:

Цитата Сообщение от Хулиган Посмотреть сообщение
интернет нужно оплачивать наперёд, если не оплатил то ночью по окончании месяца его вырубают(
август же начался. точно

Цитата Сообщение от IGPIGP Посмотреть сообщение
Как же запустить конструктор в конструкторе?
Для этого должен работать механизм делегирования конструкторов. Т.е. C++11 минимум.
1
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
01.08.2013, 12:41  [ТС] #10
Цитата Сообщение от IGPIGP Посмотреть сообщение
Где-то читал, что в С# оно как-то так работает для типов ссылок
пока искал то видел в шарпе можно делать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct SomeStruct
{
    private int _i;
    private double _d;
 
    public SomeStruct(int i)
        : this() // вызываем “конструктор по умолчанию”
    {
        _i = i;
        // Поле _d инициализировано неявно!
    }
}
Добавлено через 3 минуты
Цитата Сообщение от Tulosba Посмотреть сообщение
Т.е. C++11 минимум
та я уже понял это, значит пока что буду использовать функцию вызываемую в конструкторах
1
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6509 / 3146 / 307
Регистрация: 04.12.2011
Сообщений: 8,706
Записей в блоге: 5
01.08.2013, 12:44 #11
Хулиган, да и для типов значений, выходит тоже.
1
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
01.08.2013, 12:45  [ТС] #12
Цитата Сообщение от Tulosba Посмотреть сообщение
Т.е. C++11
как перейти на этот стандарт?
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
01.08.2013, 12:47 #13
Цитата Сообщение от Хулиган Посмотреть сообщение
как перейти на этот стандарт?
Использовать компилятор, который его поддерживает
Небольшая табличка.
1
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
01.08.2013, 12:48  [ТС] #14
логично
0
01.08.2013, 12:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2013, 12:48
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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