C++クラスについて学び始めていますが、問題があります。私はコンストラクタと初期化リストについて読んだが、私はまだ私の問題を解決することはできない。 foo.hの中別のクラスコンストラクタを呼び出すC++
コード:
class point{
public:
double x,y;
point(double x1, double y1);
};
class line: public point{
public:
double A,B,C;
double distance(point K);
line(point M, point N);
};
そしてfoo.cpp中:もちろん
point::point(double x1, double y1){
x=x1;
y=y1;
}
line::line(point M, point N){
if(M.x!=N.x){
A=-(M.y-N.y)/(M.x-N.x);
B=1;
C=-(M.y-A*M.x);
}
else{
A=1;
B=0;
C=-M.x;
}
}
それは動作しません、私はラインでのポイントのコンストラクタを呼び出す方法を知らないのでコンストラクタ。これどうやってするの ? 私はそのようSTHを行うしたいと思います:
point A(5,3),B(3,4);
line Yab(A,B);
ルックgetterとsetter - メンバ変数をpublicにしないでください –
'line'はなぜ' point'から継承するのですか?ポイント属性 'x'と' y'には使用されません。 – lucianopaz
ああ、それは動作します:D私はちょうど継承を削除しました。 –