#include <iostream>
using namespace std;
class armon {
int a;
int b;
public:
armon(int newA, int newB) : a(newA), b(newB) {}
armon setA(int newA) {
a = newA;
return *this;
}
armon setB(int newB) {
b = newB;
return *this;
}
void print(void) { cout << a << endl << b; }
};
int main() {
armon s(3, 5);
s.setA(8).setB(9);
s.print();
}
возврате this
указатель будет тоже достаточно. Однако синтаксис каскадного вызова должен будет измениться в середине цепочки:
s.setA(8)->setB(9)->setC(10);
Это не выглядит согласованным, поэтому возврат ссылки — лучший выбор.