「DesignedPatternsExplained」のブリッジパターンの例を勉強しています。私が見ている例は例10.3で、これは次の場所にあります。
私が持っている特定の混乱は、Shapeクラスとその派生クラスにあります。
#pragma once
#include "Drawing.h"
class Shape
{
public:
Shape(Drawing *aDrawing);
virtual void draw()= 0;
protected:
Drawing *myDrawing;
void drawLine( double, double, double, double);
void drawCircle( double, double, double);
public:
~Shape(void);
};
サークルクラスでは
#pragma once
#include "Shape.h"
class Circle : public Shape
{
public:
Circle(Drawing*, double, double, double);
virtual void draw();
virtual void drawCircle(double, double, double)=0;
public:
~Circle(void);
protected:
double _x, _y, _r;
};
だから私が持っている質問はdrawCircle
、メソッドが実際に基本クラスに実装されているのに、なぜ継承されたクラスで純粋な仮想になる ことができるのかということです。