我有两个类,例如 A 类和 B 类。 B 是在私有下的 A 中的封装;
class A
{
private:
int x;
int y;
B b;
public:
void set(int , int, int, int, int);
void setX(int);
void setY(int);
string toString();
};
void A::set(int high, int low, int middle)
{
B(high, low, middle);
setX(x);
setY(y);
}
void A:: setX(int x)
{
this -> x = x;
}
void A:: setY(int y)
{
this -> y = y;
}
string A::toString()
{
string str;
ostringstream convert;
convert << getlow();
str = convert.str();
return str;
}
class B
{
private:
int low;
int middle;
int hight;
public:
B();
B(int, int, int);
int getLow();
int getMiddle();
int getHigh();
};
在我的 int main 的另一个班级
int main ()
{
int test1,test2,test3,test4,test5;
// with lots of codes
A a;
a.set (test1,test2,test3,test4,test5);
}
当我从 int main 获取一些值时,我将 3 个值传递给 set,它初始化对象 B。当我使用 getB 函数时,我得到的只是 0 值,或者根本不出现。(我有一个构造函数,它接受参数并将所有 int 设置为 0)。有人可以启发我吗?请不要告诉我不要使用它。我是 C++ 新手,所以请指导我。