#include <iostream>
// (x,y)平面上の点のクラス
class twoD {
public:
// デフォルトコンストラクタ。(x,y)=(0,0), zero=0.0;
twoD() {
x = 0.0; y = 0.0; zero = 0.0;
}
// 引数付きコンストラクタ(x=xx, y=yy, zero=0.0)
twoD(double xx, double yy) {
x = xx; y = yy; zero = 0.0;
}
// デストラクタ
~twoD() {
std::cout << "finished" << std::endl;
}
// 引数で与えたtwoD型の点との距離の二乗
double distance(twoD p) {
return (p.x - x) * (p.x - x) + (p.y - y) * (p.y - y);
}
double x, y;
private:
double zero;
};
int main() {
// pについてはデフォルトコンストラクタが呼び出される。
twoD p, q(2.0, 3.0);
// dはpとqとの距離の二乗
double d = p.distance(q);
std::cout << "distance between p and q is " << d << std::endl;
}
このソースファイルについての質問で
1つ目がclass twoDのpualicなメンバ関数 double distance(twoD p)を(p.x,p.y)とメンバー(x.y)との距離を返す関数として実際し直すことで
2つ目がclass twoDの宣言内にpublicなメンバ関数 double radius()を原点(0.0,0.0)とメンバー(x.y)との距離を返す関数として実装すること
3つ目が(p.x,p.y)=(2.0,3.0)とするtwoDクラスのオブジェクトpと(q.x,q.y)=(0.0,5.0)とするtwoDクラスのオブジェクトqをmain()関数中で宣言し、各オブジェクトの原点との距離、オブジェクト間の距離を標準出力に表示する。
と言うものがわかりません。
答えてくれる方よろしくお願いします。