0
私はこれが最初のプログラミング言語であり、私は初心者です。そして、これには明らかな答えがあると確信しています。C++クラスメンバー奇数を返す
しかし、何らかの理由で、単一のカスタムクラスを持つこの単純なプログラムは、あるカスタムクラスのプライベートメンバーを呼び出すGet関数から非常に奇妙な値を返しています。
プログラムは次の3つのファイルに分かれています。 Shapes.h
#include <iostream>
#include <cmath>
#include <string>
#include <cctype>
using namespace std;
class Cube
{
public:
Cube();
Cube(double);
double GetSA() const;
double GetSide() const;
private:
double SA;
double V;
double Side;
};
コンストラクタが含まれていShapes.cpp
と呼ばれる別のファイルと呼ばれる1クラスのヘッダファイルとして、その後
#include <iostream>
#include <cmath>
#include <string>
#include <cctype>
#include "Shapes.h"
using namespace std;
int main()
{
double test=20.0;
Cube D(test);
cout<< D.GetSA()<<endl<<D.GetSide();
return 0;
}
。このプログラムは、それがGetSA
アクセサ関数の6.95293e-310
の値を返し、サイド機能のための200の値を返す実行され、何らかの理由で
#include <iostream>
#include <cmath>
#include <string>
#include <cctype>
#include "Shapes.h"
Cube::Cube()
{
V=0.0;
SA=0.0;
Side=0.0
}
Cube::Cube(double Side2)
{
Side=Side2;
}
double Cube::GetSA() const
{
return SA;
}
double Cube::GetSide() const
{
return Side;
}
。
これがなぜ起こっているのか、それを修正する方法についてのアイデアはありますか?
'Cube :: Cube(double Side2)'で 'SA'や' V'を初期化しません。これらは、そのアドレスのメモリにあったランダムな値を含むことがあります。 – drescherjm
それは意味がありますが、なぜGetSideアクセサのために200を得ていますか? – Zygodactyl546
20.0にする必要があります。私はなぜそれが200になるのか分かりません。 – drescherjm