请看以下函数调用
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,其中包含对象的引用。如果函数返回对象的引用,那么我们可以使用对象的引用轻松地调用成员函数。