@ Jarod42 получил ваш ответ, несмотря на все ошибки, возникающие вокруг, то, что вы хотите, выглядит примерно так:
Функция, которую вы хотите связать, должна возвращать ссылку на ваш текущий экземпляр объекта.
Вот класс Foo
, который несколько раз меняет свой член _data
и цепочку.
#include <iostream>
class Foo
{
private:
int _data;
public:
Foo(int data) : _data(data) {}
~Foo()
{
}
// change the value of data then return a reference to the current Foo instance
Foo &changeData(int a)
{
_data = a;
return *this;
}
void printData()
{
std::cout << _data << std::endl;
}
};
int main()
{
Foo f(1);
f.changeData(2).changeData(3);
f.printData();
}
Обратите внимание, что я возвращаю Foo&
из функции, которую я объединяю, это немного трюк, которого нет в твоем.
Надеюсь, он тебе помог:)