1 / 1 / 2
Регистрация: 13.11.2012
Сообщений: 27
1

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

15.12.2012, 14:17. Показов 1356. Ответов 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);      //ругается на этот момент
    }
    };
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2012, 14:17
Ответы с готовыми решениями:

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

Как сложить объект базового класса с объектом производного(наследуемого класса)
Как умножить объект базового класса с объектом производного(наследуемого класса): ozenka - объект...

Почему объект производного класса не видит префиксный оператор из базового класса?
Короче создал я базовый класс с перегруженным префиксным оператором ++. Потом чтоб его...

Вызов метода производного класса через обращение к методу базового класса
Добрый день. Изучаю основы ООП, наткнулся на проблему. Если создавать классы внутри main.cpp,...

5
Неэпический
17807 / 10579 / 2042
Регистрация: 27.09.2012
Сообщений: 26,609
Записей в блоге: 1
15.12.2012, 14:21 2
Цитата Сообщение от Dusuney Посмотреть сообщение
P3 *on = new P3(4,4); //ругается на этот момент
У Вас в классе P3 нет соответствующего конструктора
0
Эксперт С++
1672 / 1044 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
15.12.2012, 14:23 3
Первое: конструктор по умолчанию класса P3 объявлен, но не определён.
Второе: у класса P3 даже и не объявлен конструктор, принимающий два числа.
Третье: у функции Milk не объявлен вовзращаемый тип.
0
Форумчанин
Эксперт CЭксперт С++
8194 / 5044 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
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) {}
};
1
Nick Alte
15.12.2012, 14:31
  #5

Не по теме:

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

0
1 / 1 / 2
Регистрация: 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) {}
};
Благодарю товаристщ!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2012, 15:43
Помогаю со студенческими работами здесь

Вызвать конструктор производного класса без конструктора базового класса
Здравствуйте! У меня есть базовый класс треугольник и производный класс равносторонний...

Создание указателя типа базового класса на экземпляр производного класса
Добрый день! Иногда видел коды, где создавался указатель типа базового класса на объект класса -...

Возможно ли указатель производного класса инициализировать объектом базового класса?
имеется связка наследуемых классов A->B а от B наследуются одновременно еще два класса B->C и B->D...

Указатель на объект базового класса и адрес объекта производного класса
Пример кода: class Class1 { public: Class1(int x) { j = new int; *j = x; }...

Определить обработчик исключений на преобразование указателя базового класса на указатель производного класса
Класс В является производным от класса А. Определить обработчик исключительной ситуации на...

Что происходит когда передается в функцию базового класса аргумент с типом производного класса?
Есть функция перегруженного оператора"+" в производном классе и в базовом классе который принимает...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru