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

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

Войти
Регистрация
Восстановить пароль
 
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
#1

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

07.12.2010, 02:12. Просмотров 371. Ответов 4
Метки нет (Все метки)

Что не верно в таком объявлении :
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().
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2010, 02:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Наследование, конструкторы (C++):

наследование. конструкторы - C++
#include <iostream> using namespace std; #include <locale> #include <time.h> #include <windows.h> class TArray { ...

Делегирующие конструкторы и наследование - C++
Возможно ли использовать делегирующие конструкторы когда нужно инициализировать базовый класс? Например есть два таких конструктора: ...

Наследование классов и конструкторы - C++
#include <stdio.h> #include <conio.h> class form { public: form(){printf("form::form()\n");}; ...

Заменить наследование классов на наследование интерфейсов - C++
#include <iostream> #include <assert.h> using namespace std; int people_on_base = 100; int vehicles_on_base = 100; double...

Конструкторы - C++
#include<iostream> class A { public: A(int x) : _x(x) {} private: int _x; }; int main() ...

конструкторы - C++
У меня вопрос: если программа с конструкторами, то нужно ли создавать объект в программе? И по какому синтаксису вызвать функцию, описанную...

4
volovzi
267 / 169 / 8
Регистрация: 14.03.2010
Сообщений: 501
07.12.2010, 02:28 #2
Во-первых, список инициализации указывается только там, где описывается тело конструктора.
Во-вторых, нет тела конструктора P(int).
1
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;}
0
CyBOSSeR
Эксперт С++
2303 / 1673 / 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;}

Не по теме:

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

1
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
07.12.2010, 03:31  [ТС] #5
вы помогли, спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2010, 03:31
Привет! Вот еще темы с ответами:

Конструкторы С++ - C++
Всем привет, помогите довести программу до ума :) Заранее благодарю откликнувшихся :) ...

конструкторы - C++
Доброе время суток! Помогите разобраться с конструктором. Что это такое и с чем его едят. Так как сдала лабу преподавателю, ну вроде ж...

Конструкторы - C++
class A { public: A() : a(10) // инициализация a { b = 3; // присвоение b } int a, b; };

Конструкторы C++ - C++
Объясните, пожалуйста, своими словами, что являют собой конструкторы, для чего они нужны, в чем их преимущество перед аналогичными...


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

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

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