Я пытаюсь понять отношения IS-A VS-Like-A, где я где-то читал, что мы должны попытаться следовать дизайну, так что у нас всегда есть отношения, а не похожие на. Рассмотрим классический пример базового класса формы и полученных классов треугольника и круга. Так что кружок-это форма, как и треугольник-это форма. Область отображения функции была определена в базовом классе. Теперь приведенная ниже программа работает нормально. < /P>
Код: Выделить всё
#include "stdafx.h"
#include
#include
class shape
{
public:
virtual void displayArea()=0;
};
class circle :public shape
{
int radius;
public:
circle(int radius2) :radius(radius2){ }
void displayArea()
{
double area = 3.14*radius*radius;
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/44666561/designing-shape-class-with-circle-and-triangle[/url]