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

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

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

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

01.07.2011, 21:07. Просмотров 259. Ответов 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;
    // компилятор говорит, что
    // "не могу найти стандартный конструктор"
    // как тут вызвать не стандартный, а некий другой?
    // возможно ли такое?
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2011, 21:07     Вопрос про конструктор
Посмотрите здесь:

Вопрос про конструктор - 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++
Всем привет. Есть скудная вытяжка из методички: "Массив объектов В случае, когда возникает необходимость иметь несколько объектов...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
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(значение)
        {
        }
};
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) {}
 
};
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2011, 23:22     Вопрос про конструктор
Еще ссылки по теме:

Вопрос про ф-ию mul - C++
Расскажите пожалуйста про ф-ию mul, перегружаемую в классе. Что она делает?

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

вопрос про указателей - C++
вот напр эта строка int *m=new int; это как я понял создается указатель?тогда что такое new int?

Вопрос про указатели - C++
char *a = "s"; 1. Выделяется место в памяти 2. В это место записывается s 3. Указателю a приваивают адрес памяти где храниться s ...


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

Или воспользуйтесь поиском по форуму:
LastPast
31 / 31 / 1
Регистрация: 06.07.2010
Сообщений: 129
01.07.2011, 23:22  [ТС]     Вопрос про конструктор #4
Вау! Спасибо. Обожаю списки инициализации!
Yandex
Объявления
01.07.2011, 23:22     Вопрос про конструктор
Ответ Создать тему
Опции темы

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