常量成员函数
2013-02-28 16:26
141 查看
成员函数:
class myStr
{
public:
bool equal(const myStr& strB){ return strName==strB.strName}
private:
std::string strName;
}
假如有两个对象strA和strB,当strA.equal(strB)时,实际上将this指针(即调用对象strA的地址)隐式地传入了myStr类的成员函数里,那么equal函数运行时即是:return this.strName==strB.strName,也即是strA.strName==strB.strname。
而常量成员函数:
bool equal(const myStr& strB) const {return strName==strB.strName}
由于this 是指向调用对象的指针,const成员函数传递的是const this对象指针,所以const成员函数不能修改调用该函数的对象,因此equal函数只能读取而不能修改调用它们的对象的数据成员。
class myStr
{
public:
bool equal(const myStr& strB){ return strName==strB.strName}
private:
std::string strName;
}
假如有两个对象strA和strB,当strA.equal(strB)时,实际上将this指针(即调用对象strA的地址)隐式地传入了myStr类的成员函数里,那么equal函数运行时即是:return this.strName==strB.strName,也即是strA.strName==strB.strname。
而常量成员函数:
bool equal(const myStr& strB) const {return strName==strB.strName}
由于this 是指向调用对象的指针,const成员函数传递的是const this对象指针,所以const成员函数不能修改调用该函数的对象,因此equal函数只能读取而不能修改调用它们的对象的数据成员。
相关文章推荐
- 常量成员函数
- C++基础:常量成员函数特殊说明
- C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
- C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
- C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
- C++ 常量对象,成员函数,引用
- C++ 中常量成员函数
- C++的常量成员函数
- c++ primer笔记 将关键字 const 加在形参表之后,就可以将成员函数声明为常量:
- 带const限定符的常量成员函数
- c++类成员函数重载常量与非常量版本时避免代码重复的一种方法
- C++ 之 常量成员函数
- 常量函数成员奈我何
- 常量对象、常量成员函数和常引用
- c++常量成员函数
- 类中的常量, const对象和成员函数
- 常量成员函数与常量对象
- const限定修饰符用法总结(常量,指针,迭代器,函数参数,成员函数)
- 关于常量成员函数(const member function)
- C++常量成员函数特殊说明