I recently used a library that allows the following type of syntax:
MyClass myObject; myObject .setMember1(\"string value\") .setMember2(4.0f) .s
There's no problem with this style. The only downside is that you can't use the return value for more typical purposes, like returning the result of the function.