函数返回类的引用

来源:互联网 发布:qq三国79js单刷孟获 编辑:程序博客网 时间:2024/06/08 01:35

以下代码均来自于幕课网-----一个优秀的IT网站

Array.h

class Array{public:Array(int len);~Array();void setLen(int len);int getLen();Array& printInfo();private:int m_iLen;};

Array.cpp

#include"Array.h"#include<iostream>using namespace std;Array::Array(int len){m_iLen = len;}Array::~Array(){}void Array::setLen(int len){m_iLen = len;}int Array::getLen(){return m_iLen;}Array& Array::printInfo(){cout << "m_iLen = " << m_iLen << endl; return *this;}
demo.cpp

#include "Array.h"#include<iostream>#include <stdlib.h>using namespace std;int main(){Array arr1(10);arr1.printInfo().setLen(5);cout << "m_len = " << arr1.getLen() << endl;system("pause");return 0;}
执行以上代码输出结果为:



当将函数printInfo声明与定义均去掉 & 运行输出为:

这个问题在我看运算符重载的时候一直困扰着我,为什么返回一个类型却要加引用符号呢???

这个例子很好的解决了我的困扰~特记一笔


0 0
原创粉丝点击