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

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

Войти
Регистрация
Восстановить пароль
 
LastPast
31 / 31 / 1
Регистрация: 06.07.2010
Сообщений: 129
#1

Вопрос про конструктор - C++

01.07.2011, 21:07. Просмотров 261. Ответов 3
Метки нет (Все метки)

Обязательно ли делать конструктор по умолчанию для класса, экземпляр которого входит в другой класс?

Например так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Class2
{
public:
    // тут из конструкторов есть только такой
    Class2(bool b2);
    // стандартный Class2() нужно как-то запретить
}
 
class Class1
{
public:
    Class2 obj2;
    // компилятор говорит, что
    // "не могу найти стандартный конструктор"
    // как тут вызвать не стандартный, а некий другой?
    // возможно ли такое?
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2011, 21:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопрос про конструктор (C++):

Вопрос про конструктор - C++
цитата исходного кода из книги: class stock{ ... public: stock(); //Типа объявление конструктора по умолчанию чтоли... ...

Вопрос про конструктор и инициализвцию - C++
class test { int a; char name; string name2; public: test(int a,char* name, ....) : a(a), .....{} }; если стринг как...

Вопрос про конструктор класса по умолчанию - C++
http://s2.ipicture.ru/uploads/20111029/A7AtbNYV.jpg Пункт первый не могу немного понять.Т.е получается,что всегда лучше создавать самому...

Конструктор копирования(быстрый вопрос) - C++
Вроде бы все просто и логично, но в итоге выполнения B не копируется в A :C why? #include <iostream> using namespace std; class...

Инициализация массива через конструктор. Вопрос. - C++
Всем привет. Есть скудная вытяжка из методички: "Массив объектов В случае, когда возникает необходимость иметь несколько объектов...

Про конструктор копирования, оператор присваивания - C++
Объясните, пожалуйста, принцип действия конструктора копирования и операции присваивания. На что указывает указатель this в этих функциях?...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
01.07.2011, 21:20 #2
Через список инициализации:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Class2
{
public:        
        Class2(bool b2);        
};
 
class Class1
{
public:
        Class2 obj2;
        Class1()
            : obj2(значение)
        {
        }
};
1
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
01.07.2011, 21:20 #3
ну передать аргументы ему
C++
1
2
3
4
5
6
7
class Class1
{
        Class2 obj2;
public:
    Class1():obj2(true) {}
 
};
1
LastPast
31 / 31 / 1
Регистрация: 06.07.2010
Сообщений: 129
01.07.2011, 23:22  [ТС] #4
Вау! Спасибо. Обожаю списки инициализации!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2011, 23:22
Привет! Вот еще темы с ответами:

Вопрос про char - C++
Пожалуйста обьясните доступным языком в чем разница между объявлениями, и какие когда лучше использовать char a; char *c; char b=new...

Вопрос про цикл. - C++
Добрый день. Попал в тупик, не знаю как закрутить cin>> в цикл подскажите пожалуйста:). Вот собственно задание: Написать функцию,...

вопрос про new из с++ за 21 день - C++
контрольный вопрос: что возвращает оператор new, когда для создания объекта нет достаточно памяти7 Добавлено через 12 минут еще...

Вопрос про классы - C++
Такой пример. Базовый класс First, и два производных от него класса Second и Third. First*ar={new First(параметры),new Second(параметры),...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.07.2011, 23:22
Ответ Создать тему
Опции темы

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