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

Конструктор класса - C++

Восстановить пароль Регистрация
 
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
26.08.2013, 21:39     Конструктор класса #1
C++
1
2
3
4
5
6
7
8
9
10
class A{};
 
class B : public A
{
     B();
};
 
B::B()  : A()              /// ДЛЯ ЧЕГО ТУТ :A()  И ЧТО ЭТО ОЗНАЧАЕТ???
{
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
26.08.2013, 21:39     Конструктор класса #2
Цитата Сообщение от Egor138 Посмотреть сообщение
/// ДЛЯ ЧЕГО ТУТ :A() И ЧТО ЭТО ОЗНАЧАЕТ???
В списке инициализации вызывается конструктор базового класса
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
26.08.2013, 21:57     Конструктор класса #3
Цитата Сообщение от Egor138 Посмотреть сообщение
/// ДЛЯ ЧЕГО ТУТ :A() И ЧТО ЭТО ОЗНАЧАЕТ???
Ни для чего. Это излишне. Конструктор класса A вызовется и без этого.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
struct A {
    A() {
        std::cout << "A::A()\n";
    }
};
 
class B : public A {
public:
    B() {}
};
 
int main()
{
    B b;
}
zer0mail
2189 / 1872 / 187
Регистрация: 03.07.2012
Сообщений: 6,665
Записей в блоге: 1
26.08.2013, 22:14     Конструктор класса #4
У ТС все классы пустые (голый "скелет"). Пример просто показывает, где и как можно вызвать конструктор базового класса (например, с параметрами).
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
26.08.2013, 22:21     Конструктор класса #5
Плохой пример. Это будет куда нагляднее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
struct A {
    A( int a, int b ) {
        std::cout << "A::A( " << a << ", " << b << " )\n";
    }
};
 
struct B : public A {
    B( int b ) : A( 1, b ) {}
};
 
int main()
{
    B b( 2 );
}
Yandex
Объявления
26.08.2013, 22:21     Конструктор класса
Ответ Создать тему
Опции темы

Текущее время: 14:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru