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

1.为什么我运行后还会出来一个地址的值,这个是哪里冒出来的... 2.我想输出this指针的地址,为什么在main函数下 cout<<this<<endl;或者cout<<arr1.this<<endl;就会提示出现错误?想要在main函数下cout this指针地址应该怎么弄?

#include "iostream"

using namespace std;

#include "stdlib.h"



class Array

public:

Array(int len )

{

this->len=len;

}

~Array()

{

}

Array *setLen(int len)

{

this->len=len;

return this;

}

int  getLen()

{

return len;

}

Array*printInfo()  

{    

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

return this;

}  

private:

int len;

};





int main()

{

Array arr1(10);
cout<<arr1.printInfo()<<endl;

system("pause");

return 0;

}


正在回答

3 回答

this 指针时能在 class 定义内部使用,main 函数中不可见 this 指针。

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

Array*printInfo()  

{    

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

return this;

}  

注意return *this  你没有注意返回值

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

qq_缒巡夢中人

我又看了一遍,我觉得最大的问题应该是老师用的是引用,你采用的是指针,所以后面应该用->而不是.懂? 鄙微之见,错了还望海涵。
2015-09-11 回复 有任何疑惑可以回复我~

private可以在类作用域内访问,域外通过pubilc成员函数访问

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

举报

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

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

进入课程

1.为什么我运行后还会出来一个地址的值,这个是哪里冒出来的... 2.我想输出this指针的地址,为什么在main函数下 cout<<this<<endl;或者cout<<arr1.this<<endl;就会提示出现错误?想要在main函数下cout this指针地址应该怎么弄?

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