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

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

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

Немного не понимаю как правильно сделать наследование - C++

26.12.2012, 11:33. Просмотров 349. Ответов 3
Метки нет (Все метки)

Вот например, есть структура Point(точка). Если надо сделать структуру Round(круг),
то в этом случае надо наследовать Point потому что у круга только одна точка - это его центр.

А если создадим структуру Square(квадрат) то в этом случае с наследованием не получится?
У квадрата 4 угла и нужны 4 Point

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct Point
{
    int x;
    int y;
};
 
struct Round : Point
{
    int radius;
};
 
struct Square : Point ???
{
    ???
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2012, 11:33     Немного не понимаю как правильно сделать наследование
Посмотрите здесь:
не понимаю как сделать наследование классов C++
немного графики+векторы. по смыслу понимаю, а как реализовать - запуталась C++
C++ Немного не понимаю std::move
C++ Как правильно писать наследование
Правильно ли я понимаю ссылки и указатели. Работу с ними. Я сам прокомментировал код. Скажите правильно или нет. C++
Обьясните как правильно организовывать наследование C++
Как правильно реализовать множественное наследование? C++
C++ Наследование, не понимаю в чем ошибка
C++ Немного исправить ошибки. Тема: стэки, списки, очереди. Не понимаю в чем дело
День добрый! Как устроен стек при работе программ ? Правильно ли я понимаю? C++
C++ Не понимаю как сделать
Не понимаю как сделать! C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,011
26.12.2012, 11:38     Немного не понимаю как правильно сделать наследование #2
Наследование - это отношение типа "является". Является ли круг точкой? Нет. И в постановке вопроса уже есть ответ:

Цитата Сообщение от Flurry Посмотреть сообщение
у круга только одна точка - это его центр.
Т.е. у класса "Круг" одним из полей будет "Точка".
Flurry
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 9
26.12.2012, 11:41  [ТС]     Немного не понимаю как правильно сделать наследование #3
Цитата Сообщение от 0x10 Посмотреть сообщение
И в постановке вопроса уже есть ответ:
То есть я правильно думаю что наследовать надо когда у структуры только один наследник? А если их много?

Цитата Сообщение от 0x10 Посмотреть сообщение
Является ли круг точкой? Нет
У круга есть центр и он является точкой
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,011
26.12.2012, 13:41     Немного не понимаю как правильно сделать наследование #4
Наследников может быть несколько, как и базовых классов. (Вот пишу эту фразу и боюсь быть понятым неправильно)
Yandex
Объявления
26.12.2012, 13:41     Немного не понимаю как правильно сделать наследование
Ответ Создать тему
Опции темы

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