请看以下函数调用
ob.FUN1().FUN2().FUN3();
在这里,ob是对象名称;FUN1,FUN2和FUN3是该类和ob.FUN1()。FUN2()。FUN3();的成员函数。成员函数的级联调用类型。
C ++编程允许这样的函数调用,当在单个语句中使用单个对象名称调用多个函数时,在C ++中称为级联函数调用。
众所周知,该指针返回当前对象的指针,通过使用该指针,我们可以实现级联的函数调用。
看程序:
#include<iostream> using namespace std; class Demo { public: Demo FUN1() { cout <<"\nFUN1 CALLED"<<endl; return *this; } Demo FUN2() { cout <<"\nFUN2 CALLED"<<endl; return *this; } Demo FUN3() { cout <<"\nFUN3 CALLED"<<endl; return *this; } }; int main(){ Demo ob; ob.FUN1().FUN2().FUN3(); return 0; }
输出结果
FUN1 CALLED FUN2 CALLED FUN3 CALLED
在此程序中,Demo类包含三个成员函数,每个函数都返回* this,其中包含对象的引用。如果函数返回对象的引用,那么我们可以使用对象的引用轻松地调用成员函数。