Добрый день!
Хочу сделать, что бы методы класса можно было вызывать по цепочке, к перимеру:
MyClass * myClass = new MyClass();
myClass->summ(10).retract(4).div(2).cast(1);
......
......
delete myClass;
Разумеется, для этого достаточно, что бы каждый метод возвращал экземпляр класса, и в этом вопрос - что возвращать и почему?
MyClass &summ(int) { return *this; }
// ИЛИ
MyClass *summ(int) { return this; }
Как видите, можно возвращать либо ссылку, либо указатель.
Что будет в данном случае наиболее верно и почему?
P.S. Конструктор копирования достаточно сложный.