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

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

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

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

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

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

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

Определить конструктор для инициализации полей по умолчанию - C++
У меня такое задание по лабу, кстати она самая сложная и последняя: дана структура: struct Student { char *LastName; ...

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

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

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

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

9
Croessmah
Пришел
Эксперт CЭксперт С++
13771 / 7852 / 894
Регистрация: 27.09.2012
Сообщений: 19,267
Записей в блоге: 3
Завершенные тесты: 1
30.09.2016, 21:17 #2
Что Вы имеете ввиду?
1
castaway
Эксперт С++
4920 / 3028 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
30.09.2016, 21:23 #3
Можно.
А можно конкретней?
0
TRRx
0 / 0 / 0
Регистрация: 29.11.2015
Сообщений: 96
30.09.2016, 21:24  [ТС] #4
ClassName OP;
ClassName OP(1515);
0
Croessmah
Пришел
Эксперт CЭксперт С++
13771 / 7852 / 894
Регистрация: 27.09.2012
Сообщений: 19,267
Записей в блоге: 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
Эксперт С++
4920 / 3028 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 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
2468 / 1137 / 240
Регистрация: 30.11.2013
Сообщений: 3,701
30.09.2016, 21:47 #7
TRRx, можно вызвать 2 конструктора для одного объекта только через делегирование конструкторов
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6911 / 3189 / 315
Регистрация: 04.12.2011
Сообщений: 8,828
Записей в блоге: 5
30.09.2016, 21:55 #8
Цитата Сообщение от TRRx Посмотреть сообщение
ClassName OP;
ClassName OP(1515);
В одной зоне видимости такое называется двойным объявлением. Компилятор не воспринимает.
0
Croessmah
Пришел
Эксперт CЭксперт С++
13771 / 7852 / 894
Регистрация: 27.09.2012
Сообщений: 19,267
Записей в блоге: 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
Комп_Оратор)
Эксперт по математике/физике
6911 / 3189 / 315
Регистрация: 04.12.2011
Сообщений: 8,828
Записей в блоге: 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
Привет! Вот еще темы с ответами:

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

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

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

Конструктор инициализации - C++
Как передать параметры конструктору, если объект класса определен как указатель? #include &lt;iostream&gt; using namespace...


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

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

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