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

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

Войти
Регистрация
Восстановить пароль
 
Dusuney
1 / 1 / 0
Регистрация: 13.11.2012
Сообщений: 27
#1

Передать параметр конустркутору производного класса - C++

15.12.2012, 14:17. Просмотров 286. Ответов 5
Метки нет (Все метки)

Нужно передать параметр конструктору производного класса "P3".
Вылетает ошибка при создании экземляра "P3" в классе "D". Я уверен, что ошибка происходит, при инициализации конструктора у наследника "P3". Собственно вопрос: как правильно описать конструктор у наследника "P3".
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class P2
    {
        private: int X;
        private: int Y;
        public: P2(int xcord, int ycord)
        {
            X = xcord;
            Y = ycord;
        }
     };
 
class P3:public P2
    {
public:
    P3();                                // сам конструктор
    };
 
    class D{
    Milk(){
    P3 *on = new P3(4,4);      //ругается на этот момент
    }
    };
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2012, 14:17     Передать параметр конустркутору производного класса
Посмотрите здесь:

Передать метод класса как параметр - C++
Есть класс A, у него есть метод B, как метод B подсунуть в конструктор std::thread? Что-то типа такого class A { void B{ ... } ...

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

Инициализация конструкторов производного класса - C++
Есть два класса class A { int x,y; A(int a, int b): x(a), y(b) { } };

Доступ к методам производного класса - C++
Есть базовый класс CJobGeneral. В нём описано несколько методов. Есть унаследованный от него CJobCitomir с рядом своих методов. Есть...

Ошибка в функции производного класса - C++
Доброго времени суток! У меня такая проблема: не работает функция поп-фронт в производном классе. Не могу понять почему. Если я пробую...

Вызов методов производного класса - C++
Возникла проблема с выполнением задачи. программа запускается, работает, но почему-то не выводит метод scan и print наследовательного...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
15.12.2012, 14:21     Передать параметр конустркутору производного класса #2
Цитата Сообщение от Dusuney Посмотреть сообщение
P3 *on = new P3(4,4); //ругается на этот момент
У Вас в классе P3 нет соответствующего конструктора
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,930
Завершенные тесты: 1
15.12.2012, 14:23     Передать параметр конустркутору производного класса #3
Первое: конструктор по умолчанию класса P3 объявлен, но не определён.
Второе: у класса P3 даже и не объявлен конструктор, принимающий два числа.
Третье: у функции Milk не объявлен вовзращаемый тип.
MrGluck
Модератор
Эксперт CЭксперт С++
7163 / 4329 / 632
Регистрация: 29.11.2010
Сообщений: 11,751
15.12.2012, 14:27     Передать параметр конустркутору производного класса #4
new используется лишь для того, чтоб конструктор производного класса вызывать? То же самое можно делать и с помощью списков инициализации:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class P2
{
    private:
        int X;
        int Y;
    public: P2(int xcord, int ycord)
    {
        X = xcord;
        Y = ycord;
    }
};
 
class P3:public P2
{
    public:
        P3(int x, int y) : P2(x, y) {}
};
 
class D : public P3
{
    public:
        D() : P3(4, 4) {}
};
Nick Alte
15.12.2012, 14:31
  #5

Не по теме:

Телепаты наконец-то вернулись из отпуска

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2012, 15:43     Передать параметр конустркутору производного класса
Еще ссылки по теме:

Отрабатывает оператор базового, а не производного класса - C++
Здравствуйте! Собственно, вопрос в следующем. Я перегрузил оператор потокового вывода для базового и для производного класса. При выводе...

Обращение к бинарным операторам производного класса - C++
В классе StrLIdf, потомке StrL описан оператор friend StrLIdf operator& (const StrLIdf &, const StrLIdf &); StrLIdf operator&...

Перегрузка operator>> для производного класса - C++
Базовый класс: Taxi_Car.h: #pragma once #include<string> using namespace std; class Taxi_Car { string Marka;

Массив обьектов класса предка и производного - C++
Можно ли, если у меня есть базовый НЕ абстрактный класс и проиводный от него с добавленым полем, допустим, целое число, сделать массив,...


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

Или воспользуйтесь поиском по форуму:
Dusuney
1 / 1 / 0
Регистрация: 13.11.2012
Сообщений: 27
15.12.2012, 15:43  [ТС]     Передать параметр конустркутору производного класса #6
Цитата Сообщение от MrGluck Посмотреть сообщение
new используется лишь для того, чтоб конструктор производного класса вызывать? То же самое можно делать и с помощью списков инициализации:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class P2
{
    private:
        int X;
        int Y;
    public: P2(int xcord, int ycord)
    {
        X = xcord;
        Y = ycord;
    }
};
 
class P3:public P2
{
    public:
        P3(int x, int y) : P2(x, y) {}
};
 
class D : public P3
{
    public:
        D() : P3(4, 4) {}
};
Благодарю товаристщ!
Yandex
Объявления
15.12.2012, 15:43     Передать параметр конустркутору производного класса
Ответ Создать тему
Опции темы

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