关于加&之后
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);
这里的时候值就变了
不知道怎么回事