为了账号安全,请及时绑定邮箱和手机立即绑定

关于加&之后

class Array
{	
public:	
Array(int len);
~Array();		
void setLen(int len);		
int getLen();		
Array& printInfo();
	private:
	int len;
	};
#include"Array.h"
#include<iostream>
using namespace std;
Array::Array(int len)
{	
this->len=len;
}
Array::~Array()
{
	
}
void Array::setLen(int len)
{	
this->len=len;
	}
int Array::getLen()
{	
	return len;
}
Array& Array::printInfo()
{	
cout<<"len="<<len<<endl;
return *this;
}
#include <iostream>
#include<stdlib.h>
#include"Array.h"
using namespace std;
int main() 
{	
Array arr1(10);	
arr1.printInfo().setLen(5);
cout<<"len="<<arr1.getLen()<<endl;
system("pause");
return 0;
	}

代码就是跟视频中的一个样,但是在最后的

arr1.printInfo().setLen(5);

这里的时候值就变了

https://img1.sycdn.imooc.com//5cff7a16000140fb02650113.jpg

不知道怎么回事

正在回答

2 回答

兄弟我把你的代码复制下来能跑啊

#include <iostream>

using namespace std;

class Array

{

public:

Array(int len)

{

this->len = len;

}

~Array() {};

void setLen(int len)

{

this->len = len;

}

int getLen() { return len; }

Array& printInfo()

{

cout << "len=" << len << endl;

return *this;

}

private:

int len;

};

int main(void)

{

Array arr1(10);

arr1.printInfo().setLen(5);

cout << "len=" << arr1.getLen() << endl;

system("pause");

return 0;

}

https://img1.sycdn.imooc.com//5d2dc71700012fbb01590151.jpg

0 回复 有任何疑惑可以回复我~

void setLen(int len); 把void改成Array&

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70919    人
  • 解答问题       514    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

关于加&之后

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信