失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > c语言指针++_C ++此指针| 查找输出程序| 套装3

c语言指针++_C ++此指针| 查找输出程序| 套装3

时间:2021-11-05 18:53:38

相关推荐

c语言指针++_C ++此指针| 查找输出程序| 套装3

c语言指针++

Program 1:

程序1:

#include <iostream>using namespace std;class Test {int VAL;public:Test(int v){VAL = v;}Test* Sum(Test T1, Test T2){VAL = T1.VAL + T2.VAL;return this;}void print(){cout << VAL << " ";}};int main(){Test T1(10);Test T2(20);Test* T3;T3 = T1.Sum(T1, T2);T1.print();T2.print();T3->print();return 0;}

Output:

输出:

30 20 30

Explanation:

说明:

Consider thesum()function, the function is taking two objects ofTestclass arguments and returning the pointer of the current object usingthis.

考虑sum()函数,该函数接收Test类参数的两个对象,并使用this返回当前对象的指针。

And, in themain()function, we created two objectsT1,T2, and a pointerT3, which is holding the current object pointer returned bysum(). Thesum()is adding the values ofT1andT2and assigning inT1because we are calling the functionsum()usingT1and returning the address ofT1which is assigning to the pointerT3.

并且,在main()函数中,我们创建了两个对象T1,T2和一个指针T3,该指针保存了sum()返回的当前对象指针。sum()将T1和T2的值相加并在T1中赋值,因为我们正在使用T1调用函数sum()并返回分配给指针T3的T1地址。

Program 2:

程式2:

#include <iostream>using namespace std;class Test {public:Test call1(){cout << "call1 ";return *this;}Test call2(){cout << "call2 ";return *this;}Test call3(){cout << "call3 ";return *this;}};int main(){Test T1;T1.call1().call2().call3();return 0;}

Output:

输出:

call1 call2 call3

Explanation:

说明:

Here, we implemented a cascaded function call using this pointer, and created the classTestwith 3 member functionscall1(),call2(), andcall3(). All these functions will return the current object of the class using*this.

在这里,我们使用此指针实现了级联函数调用,并使用3个成员函数call1(),call2()和call3()创建了Test类。 所有这些函数都将使用* this返回类的当前对象。

翻译自: /cpp-tutorial/this-pointer-find-output-programs-set-3.aspx

c语言指针++

如果觉得《c语言指针++_C ++此指针| 查找输出程序| 套装3》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。