私はC++が初めてです。box.cpp と circle.cpp ファイルがあります。私の問題を説明する前に、その定義を示したいと思います。
box.cppで
class Box
{
private:
int area;
public:
Box(int area);
int getArea() const;
}
circle.cpp 内
#include "box.h"
class Circle
{
private:
int area;
Box box;
public:
Circle(int area, string str);
int getArea() const;
const Box& getBoxArea() const;
}
Circle クラスでわかるように、整数値と Box オブジェクトがあります。Circle コンストラクターでは、その整数値を簡単に area に割り当てます。
1 つの問題は、Box オブジェクトに割り当てるための文字列が与えられていることです。
したがって、Circle コンストラクター内で行ったことは次のとおりです。
Circle :: Circle(int area, string str)
{
this->area = area;
// here I convert string to an integer value
// Lets say int_str;
// And later I assign that int_str to Box object like this:
Box box(int_str);
}
私の意図は、円の面積値と円のオブジェクト面積値の両方にアクセスすることです。最後に、関数 const Box& getBoxArea() const; を書きます。このような:
const Box& getBoxArea() const
{
return this->box;
}
その結果、正しい値が得られません。ここで何が欠けていますか?