我想從其中包含的方法創建多個對象的方法調用返回一個勁兒地對象中組合多個對象。在一個單一的返回對象
Results calculate() {
Foo f;
Bar b;
...
Results r(f, b);
return r;
}
class Results {
private:
?
public:
Results(Foo& f, Bar& b);
Foo? getFoo();
Bar? getBar();
}
a)應Results
成員變量是指針?
private:
Foo* foo;
Bar* bar;
public:
Results(Foo& f, Bar& b) {
this->foo = &f;
this->bar = &b;
}
b)如果getFoo
回報Foo
,Foo&
或Foo*
?
你究竟想達到什麼目的?也許最好是通過引用傳遞對象,而不是創建一個包含要返回的對象的新對象。 – Skalli
@Skalli'calculate'方法創建了多個對象,這些對象只能在一起使用。通過引用傳遞輸出參數對我而言在風格上感覺很奇怪,有什麼優勢? – clstaudt
那麼,沒有野生指針是一個優勢。但我喜歡mfontaninis解決方案。但是如果你有兩個以上的物體,你需要一種不同的方法。 – Skalli