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

Проблема с наследованием - C++

Восстановить пароль Регистрация
 
DroidAn
7 / 7 / 0
Регистрация: 18.11.2011
Сообщений: 150
24.03.2012, 14:44     Проблема с наследованием #1
Здравствуйте, уважаемые Все! Столкнулся со следующей проблемой.

Необходимо реализовать паттерн программирования "Фабричный метод". Есть базовый класс "Фигура", и есть несколько наследников - "Квадрат", "Ромб" и др. Также есть класс "Создатель" (создатель фигуры вобщем), и есть несколько классов, которые создают конкретные фигуры и наследуют у "Создателя".

В классе "Создатель" есть виртуальный метод:
C++
1
Figure FactoryMethod();
Соответственно в классе "Создатель квадрата" нужно переопределить метод базового класса:

C++
1
2
3
4
Figure FactoryMethod()
{
return new Square;
}
В дот нете это работает. Проблема с плюсами - анализатор ругается, что возвращаемые значения не совпадают.

Заранее спасибо за советы.

Добавлено через 22 минуты
Square - наследник от Figure, и логично ведь, что квадрат - это фигура.

Не пойму, почему возникла ошибка.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2012, 14:44     Проблема с наследованием
Посмотрите здесь:

Непонятки с наследованием C++
C++ Проблемы с наследованием
C++ Проблемы с наследованием
C++ Проблемы с наследованием классов
C++ Задача с шаблонами и наследованием
C++ Не могу разобраться с наследованием
Не разберусь с наследованием класса C++
C++ Класс со множественным наследованием

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
24.03.2012, 14:47     Проблема с наследованием #2
надо возвращать Figure*
в с++ new возвращает указатель на объект, а не ссылку
DroidAn
7 / 7 / 0
Регистрация: 18.11.2011
Сообщений: 150
24.03.2012, 15:15  [ТС]     Проблема с наследованием #3
Благодарю!
Yandex
Объявления
24.03.2012, 15:15     Проблема с наследованием
Ответ Создать тему
Опции темы

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