1
私はC++の初心者ですので、質問をより詳細にする方法がわかりません。ごめんなさい。 だから私の教授は私にこのヘッダファイルを与え、関数定義を書くために私に言った:このクラスのこの関数はどのように記述しますか?
class Move
{ private:
double x;
double y;
public:
Move(double a = 0, double b = 0); // sets x_, y_ to a, b
void showmove(Move number) const; // shows current x_, y_ values
// add : Move --> Move
// to add x_ of input object to x_ of invoking object to get new x_,
// to add y_ of input object to y_ of invoking object to get new y_,
// to create new object initialized to new values and return it
Move add(const Move &m) const;
void reset(double a = 0, double b = 0); // resets x, y to a, b
};
私は移動は(constの移動&メートル)のconstを追加する機能を理解していません。。通常、add関数は次のようになります。int add(int a、int b)。したがって、2つの入力を組み合わせて1つの出力を作ります。しかし、Move add機能には1つの入力しかありません。私はそれのための定義を書く方法を知らない。私は友人に尋ねたところ、A.add(B)のようなものを思いついたのですが、それが意味をなさないかどうかわかりません。 は定義が
Move add(const Move& m) {
return Move(this->x+m.x, this->y+m.y);
}
でなければなりませんそれは代わりに一つだけのパラメータ(移動オブジェクトへの参照)と直接の結果を得るために、メートルの属性を使用したい読み、私の英語のため申し訳ありません
を' S(二重、二重) '取るコンストラクタ'そのパラメータとして、tは未定義参照することがあり' shouldn。 "外部定義"(宣言のヘッダー、定義のためのcpp)を使用する場合は、次のように(定義のところで)クラスを参照する必要があります: 'Move Move :: add/* etc ... * /' – Vivick