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

Наследование, конструкторы - C++

Восстановить пароль Регистрация
 
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
07.12.2010, 02:12     Наследование, конструкторы #1
Что не верно в таком объявлении :
C++
1
2
3
4
5
6
7
8
9
10
11
class P{
public: P(int n);
};
 
class Ch:public P{
public: 
    Ch(int n):P(n);
};
 
Ch::Ch(int n):P(n)
{int a = 1;}
redefinition of ch::ch().
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2010, 02:12     Наследование, конструкторы
Посмотрите здесь:

Конструкторы C++
Конструкторы C++
конструкторы C++
C++ конструкторы
C++ наследование. конструкторы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
07.12.2010, 02:28     Наследование, конструкторы #2
Во-первых, список инициализации указывается только там, где описывается тело конструктора.
Во-вторых, нет тела конструктора P(int).
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
07.12.2010, 03:21  [ТС]     Наследование, конструкторы #3
Цитата Сообщение от volovzi Посмотреть сообщение
нет тела конструктора P(int).
Предположим, что есть.

список инициализации указывается только там, где описывается тело конструктора.
либо я Вас не понял, либо Вы ошибаетесь.

Добавлено через 17 минут

непонятно как тело родительского повлияет на двойное объявление дочернего.. Но ладно пусть будет так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class P{
public: P(int n);
};
 
class Ch:public P{
public: 
        Ch(int n):P(n);
};
 
P::P(int n)
{b = n;}
Ch::Ch(int n):P(n)
{int a = b;}
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
07.12.2010, 03:22     Наследование, конструкторы #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class P{
public: P(int n);
};
 
class Ch:public P{
public: 
        Ch(int n):P(n); // <-- Здесь список инициализации лишний, уберите
};
 
P::P(int n)
{b = n;}
Ch::Ch(int n):P(n)
{int a = b;}

Не по теме:

Хоть как то оформляйте код.

Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
07.12.2010, 03:31  [ТС]     Наследование, конструкторы #5
вы помогли, спасибо.
Yandex
Объявления
07.12.2010, 03:31     Наследование, конструкторы
Ответ Создать тему
Опции темы

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