저는 Integer를 보유하고있는 클래스 (또는 Baseclass를 상속합니다)를 구현하고 있습니다. 지금은 내가 유일한 값으로 포인터를 반환 할 수있는 문제가 있으면,두 번째 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 기능은 아무것도하지 않는 .: 포인터를 반환 외에, 나는 그것이 후 4,199,696을 반환 왜 아무 생각이 없다 최초의 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
지금, 감사합니다 :) – pharno