-
常指针只能指向常成员函数 常引用只能引用常成员函数查看全部
-
对象指针 & 对象引用查看全部
-
参数类型一样 参数个数相同 两个函数依然可以重载——const查看全部
-
常成员函数的本质是内部使用this指针 常成员函数内部可以调用普通数据成员,只是值不能改变 常成员函数中不能调用普通成员函数查看全部
-
const Coordinate m_coorA; 也可以是 Coordinate const m_coorB;查看全部
-
对于void changeX() const; 与 void changX(); 如果想要调用 常成员函数 在实例化对象时必须用const修饰这个对象 。。。 const Coordinate coordinate(3,5); coordinate.changeX();查看全部
-
void changeX() const; 与 void changX(); 互为重载 如果调用函数:coordinate.changX();调用的是不带const的普通函数查看全部
-
为何不能在常成员函数中修改成员的值? void Coordinate::changeX() const =》 void changeX(const Coordinate *this) 函数隐藏一个成员:this 企图通过“this->m_iX=10”修改常指针是错误的 因而 常成员函数不能被修改。查看全部
-
const 修饰成员函数查看全部
-
常对象成员demo。。。查看全部
-
常对象成员初始化。。。查看全部
-
const修饰数据对象成员查看全部
-
m_iX和m_iY被const限定符修饰,因而 只能用成员列表的方式: Coordinate::Coordinate(int x,int y):m_iX(x),m_iY(y) { }查看全部
-
1.将返回值void 改为Array Array Array::printInfo() { return *this; } demo.cpp中arr1.printInfo()打印出来为10 但是不能体现 this 的意义 2、demo.cpp中改为arr1.printInfo().setlen(5)出来的值为 10 10 问题出在:Array.h 中返回的this 最后指向了一个新的。。。 因而改为引用: Array& Array::printInfo() { return *this; } 3、把setlen的void 也改为 Array& 可以有: arr1.printInfo().setlen(5).printInfo(); 结果是10 5 10(假设setlen中含有打印) 4、 return的是指针?? Array* Array::printInfo() { cout<<"len="<<len<<endl; return this; } demo.cpp中: arr1.printInfo()->setlen(5)->printInfo(); 结果一致 5、 this指针即是对象的地址 &arr查看全部
-
const Coordinate coor(1,2); //创建常指针 const Coordinate *p = &coor; // 创建常引用 const Coordiante &p = coor;查看全部
举报
0/150
提交
取消