常成员函数

来源:互联网 发布:做视频软件下载 编辑:程序博客网 时间:2024/04/30 10:29

 常成员函数
用const关键词说明的函数叫常成员函数。其格式如下:
〈类型〉〈函数名〉(〈参数表〉)const;
常成员函数的作用和功能:
常成员函数不能更新对象的数据,也不能调用非const修饰的成员函数。常对象只能调用类的常成员函数。
例:给出下列程序的执行结果:
#include<iostream.h>
class Point
{ int x, y;
public:
Point(int a, int b) { x=a; y=b;}
Void MovePoint( int a, int b){ x+=a; y+=b;}
Void print()const { cout<<"x="<<x<<"y="<<y<<endl;}
};
void main( )
{
Point point1(1,1);
const Point point2( 2,2);//常量对象
point1.print();//普通对象可以调用常成员函数
point2.print( );//常对象调用常成员函数
}
本程序执行结果:
x=1 y=1
x=2 y=2

使用const关键字说明的成员函数称为常成员函数,常成员函数的说明格式如下:
    <返回类型说明符> <成员函数名>(<参数表>) const;
    在使用常成员函数时要注意:
    (1) const是函数类型的一个组成部分,因此在函数实现部分也要带有const关键字。
    (2) 常成员函数不更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数。
    (3) 常对象只能调用它的常成员函数,而不能调用其他成员函数。成员函数与对象之间的操作关系如表12-1所示。

 

 

    (4) const关键字可以用于参与重载函数的区分。例如:
    void Print();
    void Print() const;
    这两个函数可以用于重载。重载的原则是:常对象调用常成员函数,一般对象调用一般成员函数。
  (5)在const成员函数中:  
  可以修改被定义成mutable的成员变量

文章出处:http://www.diybl.com/course/3_program/c++/cppsl/2008525/117871.html

原创粉丝点击