は、私がCircle
のコンストラクタで混乱しそうボディまたはメンバーの初期化をしないクラスコンストラクタ? <em>C++プログラミング言語、第4版</em>を通じて読む
class Circle : public Shape {
public:
Circle(Point p, int rr); // constructor
Point center() const { return x; }
void move(Point to) { x=to; }
void draw() const;
void rotate(int) {} // nice simple algorithm
private:
Point x; // center
int r; // radius
};
ようShape
から継承するクラスCircle
とShape
クラス
class Shape {
public:
virtual Point center() const =0; // pure virtual
virtual void move(Point to) =0;
virtual void draw() const = 0; // draw on current "Canvas"
virtual void rotate(int angle) = 0;
virtual ˜Shape() {} // destructor
// ...
};
部分があります:
Circle(Point p, int rr);
戻り値の型はどこですか?以前のすべてのコンストラクタで戻り値の型はvoid
と指定されました。私はC++の暗黙的な戻り型(Cの暗黙のint規則のような)を見つけることができませんでした
ボディ/初期化はどこですか?以前のすべてのコンストラクタは、メンバリスト初期化(:
)または関数本体{}
で初期化されています。私はここでどちらも見ていないので、値がどのように初期化されているか不思議です。
おっと、申し訳ありませんようになります。ヒューマンエラー。彼らの古い例を誓ったことはありましたか?それを混ぜなければならない... –