链式调用(Method Chaining)是一种代码编写技巧,可以让代码更加简洁和易读。它的主要思想是,把多个方法调用链式连接起来,一个方法的返回值可以当作下一个方法的参数。
在C++中,链式调用通常指的是连续调用同一个对象的成员函数,每次调用后都返回该对象的引用,从而允许进一步的调用。
#include <iostream>
#include <string>
class Person {
private:
std::string name;
int age;
public:
Person(const std::string& n, int a) : name(n), age(a) {}
// 链式设置的成员函数,返回Person&以便链式调用
Person& setName(const std::string& n) {
name = n;
return *this; // 返回当前对象的引用
}
Person& setAge(int a) {
age = a;
return *this;
}
// 打印信息
void print() const {
std::cout << "Name: " << name << ", Age: " << age << std::endl;
}
};
int main() {
Person person;
// 使用链式调用设置person的属性
person.setName("Alice").setAge(30);
// 直接调用print成员函数打印信息
person.print();
return 0;
}