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

Ошибка при наследовании - C++

Восстановить пароль Регистрация
 
Danyl
3 / 3 / 1
Регистрация: 09.04.2010
Сообщений: 29
15.05.2011, 15:45     Ошибка при наследовании #1
Вот такой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Figure2
{
protected:
    int Color;
    int CenterX;
    int CenterY;
 
public:
    Figure2(int iCenterX, int iCenterY) {
 
    }
 
 
};
 
 
class Circle :
    public Figure2
{
private:
    int Radius;
 
public:
    Circle(int iCenterX, int iCenterY, int iRadius) {  // Здесь возникает ошибка "Нет подходящего конструктора по умолчанию"
 
    }
 
};
Почему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2011, 15:45     Ошибка при наследовании
Посмотрите здесь:

C++ Ошибка при наследовании
C++ Ошибка при наследовании
Ошибка в наследовании C++
C++ Ошибка при наследовании?
C++ Ошибка при наследовании класса
C++ Ошибка в наследовании
C++ Ошибка: undefined reference to при наследовании класса
C++ Ошибка памяти. Передача массива при наследовании

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryLaptev
Эксперт C++
1004 / 783 / 46
Регистрация: 30.04.2011
Сообщений: 1,595
15.05.2011, 16:18     Ошибка при наследовании #2
Потому как при отсутствии явных вызовов конструктора для инициализации полей базового класса компилятор пытается сформировать код вызова конструктора по умолчанию. А его у тебя в базовом классе нет.
lemegeton
 Аватар для lemegeton
2908 / 1337 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
15.05.2011, 22:07     Ошибка при наследовании #3
Патамучта конструктора по-умолчанию (без параметров) в классе Figure2 нет.
Можно вызвать конструктор вручную.
C++
1
2
3
4
5
6
7
class Circle : public Figure2 {
 private:
  int Radius;
 public:
  Circle(int iCenterX, int iCenterY, int iRadius)
    : Figure2(iCenterX, iCenterY) {}
};
Yandex
Объявления
15.05.2011, 22:07     Ошибка при наследовании
Ответ Создать тему
Опции темы

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