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

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

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

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

26.12.2012, 11:33. Просмотров 351. Ответов 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++
Народ, здарова! Есть код: #include<iostream.h> #include<math.h> #include<conio.h> #include<string.h> enum...

немного графики+векторы. по смыслу понимаю, а как реализовать - запуталась - C++
Заданы окружность(положением центра и радиусом), треугольник (координатами трех вершин), квадрат (координатами четырех вершин). Определить...

Немного не понимаю std::move - C++
Здравствуйте, я немного не понимаю работу кода на 150-155 строках здесь: #include <iostream> #include <memory> #include...

Как правильно писать наследование - C++
есть 5 файлов: main.cpp; List.h;List.cpp DoubleList.h DoubleList.cpp - который унаследован от класса List и тут я подумал, а по...

Правильно ли я понимаю ссылки и указатели. Работу с ними. Я сам прокомментировал код. Скажите правильно или нет. - C++
#pragma once namespace Casper { class Cat { private: unsigned int age; float weight;

Как правильно реализовать множественное наследование? - C++
Всем привет. Нужна помощь. Вот смотрите. Имеется простой класс. От него порождаются два класса-наследника. А от этих двух классов...

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

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

Цитата Сообщение от 0x10 Посмотреть сообщение
Является ли круг точкой? Нет
У круга есть центр и он является точкой
0x10
2460 / 1632 / 238
Регистрация: 24.11.2012
Сообщений: 4,015
26.12.2012, 13:41 #4
Наследников может быть несколько, как и базовых классов. (Вот пишу эту фразу и боюсь быть понятым неправильно)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2012, 13:41
Привет! Вот еще темы с ответами:

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

Наследование, не понимаю в чем ошибка - C++
Задание из Лафоре, наследование. Даже пример есть, но почему-то не работает: в консоле выводит первые 79 символов s1 и все. VS 2010 class...

Немного исправить ошибки. Тема: стэки, списки, очереди. Не понимаю в чем дело - C++
// 15.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include "iostream" #define reis struct...

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


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

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

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