Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 29.11.2015
Сообщений: 99
1

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

30.09.2016, 21:15. Просмотров 1096. Ответов 9
Метки нет (Все метки)

Можно ли использовать конструктор по умолчанию и конструктор инициализации одновременно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2016, 21:15
Ответы с готовыми решениями:

Определить конструктор для инициализации полей по умолчанию
У меня такое задание по лабу, кстати она самая сложная и последняя: дана структура: struct...

Конструктор по умолчанию вызывается после конструктора инициализации
Во время выполнения программы потомок не может использовать матрицу, инициализированную в предке. Я...

Конструктор инициализации, конструктор копирования, деструктор
Я сделал почти задание по перегрузке операторов. Осталось одно, тоесть три: конструктор...

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

9
Don't worry, be happy
16924 / 9799 / 1888
Регистрация: 27.09.2012
Сообщений: 24,298
Записей в блоге: 2
30.09.2016, 21:17 2
Что Вы имеете ввиду?
1
Эксперт С++
4966 / 3072 / 456
Регистрация: 10.11.2010
Сообщений: 11,159
Записей в блоге: 10
30.09.2016, 21:23 3
Можно.
А можно конкретней?
0
0 / 0 / 1
Регистрация: 29.11.2015
Сообщений: 99
30.09.2016, 21:24  [ТС] 4
ClassName OP;
ClassName OP(1515);
0
Don't worry, be happy
16924 / 9799 / 1888
Регистрация: 27.09.2012
Сообщений: 24,298
Записей в блоге: 2
30.09.2016, 21:26 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
class X
{
   X(){}//1
   X(int arg){}//2
   //...
};
 
class Y
{
   Y(int arg = 10){}
   //...
};
0
Эксперт С++
4966 / 3072 / 456
Регистрация: 10.11.2010
Сообщений: 11,159
Записей в блоге: 10
30.09.2016, 21:30 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
struct A {
    int m_i;
 
    A() : A( 123 ) {}
    A( int i ) : m_i( i ) {}
};
 
int main() {
    A a;
    std::cout << a.m_i << std::endl; // 123
}
Добавлено через 2 минуты
Цитата Сообщение от TRRx Посмотреть сообщение
C++
1
2
ClassName OP;
ClassName OP(1515);
Два имени в одной области видимости? Что вы имеете в виду?
0
2539 / 1198 / 358
Регистрация: 30.11.2013
Сообщений: 3,819
30.09.2016, 21:47 7
TRRx, можно вызвать 2 конструктора для одного объекта только через делегирование конструкторов
0
Комп_Оратор)
Эксперт по математике/физике
8578 / 4294 / 583
Регистрация: 04.12.2011
Сообщений: 12,853
Записей в блоге: 14
30.09.2016, 21:55 8
Цитата Сообщение от TRRx Посмотреть сообщение
ClassName OP;
ClassName OP(1515);
В одной зоне видимости такое называется двойным объявлением. Компилятор не воспринимает.
0
Don't worry, be happy
16924 / 9799 / 1888
Регистрация: 27.09.2012
Сообщений: 24,298
Записей в блоге: 2
30.09.2016, 22:03 9
Цитата Сообщение от IGPIGP Посмотреть сообщение
В одной зоне видимости такое называется двойным объявлением.
Объявлением являющимся определением.
Объявления не являющиеся определением может и воспринимать:
C++
1
2
3
4
5
6
class X{};
 
extern X p;//ok
extern X p;//ok
 
int main(){}
1
Комп_Оратор)
Эксперт по математике/физике
8578 / 4294 / 583
Регистрация: 04.12.2011
Сообщений: 12,853
Записей в блоге: 14
30.09.2016, 22:10 10
Цитата Сообщение от Croessmah Посмотреть сообщение
Объявлением являющимся определением.
Объявления не являющиеся определением может и воспринимать:
тут нет вызова конструктора. Я же по вопросу пытаюсь чего-то сказать. Croessmah, я лучше вот этого, чтобы слова вопроса в кучку собрать не придумал пока:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
struct ClassName
{
int a;
ClassName(int a_=0):a(a_){cout<<"I am default and conversion ctor with a= "<<a<<endl;}
};
int main(int argc, char* argv[])
{
ClassName gop;
ClassName caca(123);
 
cout<<endl;
system("pause");
return 0;
}
тут всё одновременно. Но не оба.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2016, 22:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Конструктор с параметрами И конструктор по умолчанию. Как?
Опять прошу совета. Выполняю тут из интернета задания. Класс надо создать, там будут конструкторы и...

Почему нельзя в конструкторе использовать параметр по умолчанию, если конструктор не встроен?
То есть честно говоря, вопрос так надо ставить: почему если конструктор встроенный, то можно...

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


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

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

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