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

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

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

Можно ли использовать конструктор по умолчанию и конструктор инициализации одновременно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2016, 21:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Можно ли использовать конструктор по умолчанию и конструктор инициализации одновременно? (C++):

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

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

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

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

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

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

9
Croessmah
++Ͻ
14158 / 8083 / 1513
Регистрация: 27.09.2012
Сообщений: 19,921
Записей в блоге: 3
Завершенные тесты: 1
30.09.2016, 21:17 #2
Что Вы имеете ввиду?
1
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
30.09.2016, 21:23 #3
Можно.
А можно конкретней?
0
TRRx
0 / 0 / 1
Регистрация: 29.11.2015
Сообщений: 96
30.09.2016, 21:24  [ТС] #4
ClassName OP;
ClassName OP(1515);
0
Croessmah
++Ͻ
14158 / 8083 / 1513
Регистрация: 27.09.2012
Сообщений: 19,921
Записей в блоге: 3
Завершенные тесты: 1
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
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
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
rikimaru2013
C++ Game Dev
2471 / 1140 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
30.09.2016, 21:47 #7
TRRx, можно вызвать 2 конструктора для одного объекта только через делегирование конструкторов
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7004 / 3297 / 448
Регистрация: 04.12.2011
Сообщений: 9,127
Записей в блоге: 5
30.09.2016, 21:55 #8
Цитата Сообщение от TRRx Посмотреть сообщение
ClassName OP;
ClassName OP(1515);
В одной зоне видимости такое называется двойным объявлением. Компилятор не воспринимает.
0
Croessmah
++Ͻ
14158 / 8083 / 1513
Регистрация: 27.09.2012
Сообщений: 19,921
Записей в блоге: 3
Завершенные тесты: 1
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
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7004 / 3297 / 448
Регистрация: 04.12.2011
Сообщений: 9,127
Записей в блоге: 5
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
30.09.2016, 22:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2016, 22:10
Привет! Вот еще темы с решениями:

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

Напишите конструктор для инициализации объекта класса Time, который может использовать текущее время, возвращаемое функцией time ().
Помогите пожалуйста написать программу на С++. Просто скоро курсовую сдавать, а...

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

Конструктор инициализации
Как передать параметры конструктору, если объект класса определен как...


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

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

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