我正在實現一個類(或者說一個Base類,並從它繼承的類),它持有一個Integer。現在我有這個問題,我只能指針返回值一次。:錯誤的第二個返回值IntObject.getValue()
Inte foo = Inte(5);
cout << foo.getValue() << endl; // 5
foo.setValue(10);
cout << foo.getValue() << endl; // 10
cout << foo.getValue() << endl; // 4199696
的getValue函數並不做任何事情,除了返回指針,我不知道爲什麼它後返回4199696第一個getValue()。
這裏我的課:
class Object {
public:
virtual int getValue() = 0;
virtual void setValue(int *pointer) = 0;
virtual string toString() = 0;
};
class Inte : public Object {
private:
int* value;
public:
Inte (int *val){
value = val;
}
Inte (int val){
int a = val;
value = &val;
}
virtual int getValue(){
return *value;
};
virtual void setValue(int *pointer){
value = pointer;
};
virtual void setValue(int val){
int a = val;
value = &val;
};
virtual string toString(){
stringstream ss;
string s;
ss << value;
ss >> s;
return s;
};
};
請注意,'toString()'不返回任何內容。 – hmjd 2012-01-18 14:19:56
現在呢,謝謝:) – pharno 2012-01-18 14:22:21