我有兩個類,例如類A和B. B是封裝在私人下的A;C++嵌套類與對象的1作爲私人
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主要另一個類
int main()
{
int test1,test2,test3,test4,test5;
// with lots of codes
A a;
a.set (test1,test2,test3,test4,test5);
}
,當我從int主一些值,我通過在3個值成集,初始化對象B.當我使用getB功能,我得到的只是0的值,或者根本不顯示。 (我有一個構造函數接受參數並將所有int設置爲0)。有人能夠啓發我嗎?請不要告訴我不要使用這個。我是C++的新手,所以引導了我。
節目B的代碼和主要的()爲好。我沒有看到有任何返回類型的函數。另外,在不改變對象的成員函數末尾使用const – Raja
由於很多原因(無返回類型,混淆類和實例名稱等),此代碼不會編譯。請直接從有效的代碼複製/粘貼。 –
你的方法缺少返回類型......你應該真的粘貼可編譯的代碼片段,或者如果爲你編譯,那麼你應該真的啓用警告(-Wall -Wextra for gcc)並修復它們,作爲第一件事。或者如果你不能解決這些問題,那麼就可以通過編譯器消息(和它們指向的行)來提問。 – hyde