1 / 5
文档名称:

关键字Const的用法总结 (2).doc

格式:doc   大小:32KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

关键字Const的用法总结 (2).doc

上传人:86979448 2022/1/1 文件大小:32 KB

下载得到文件列表

关键字Const的用法总结 (2).doc

相关文档

文档介绍

文档介绍:1.     const 用于定义常量,定义时必须进行初始化,一经定义不能修改。
2.     const用作函数参数:
1)  指针参数:
const 在 * 的左边,表示该指针的数据不能改变,但是地址可以改变。
例如:void fun(const int *p)
{
*p = 10; //非法,不能改变指针p的数据
int num(20);
p = # //合法,可以改变p指向的地址,同时改变了p的数据,此时*p = 20
}
const 在 * 的右边,表示该指针的地址不能改变,但是数据可以改变。
例如:void fun(int * const p)
{
*p = 10; //合法,改变了指针p的数据
int num(20);
p = # //非法,不能改变p指向的地址
}
2)  引用参数:
const 作为引用参数时,只可以将其值赋给其他变量,不能修改其数值。
例如:void fun(const int &p)
{
int i;
i = p; //合法,将 p的数值赋给了变量i
p = 10; //非法,不能改变p的数值
}
3.     const 用作类的成员函数
1)const 修饰类的成员函数时,必须写在函数的后面。
例如:class Test;
void Test::fun(void) const
2)const成员函数可以调用类中const成员函数,不能调用非const成员函数。
例如:void Test::gun(void);
void Test::hun(void) const
void Test::fun(void) const
{
gun( ); //非法,不能调用非const成员函数
hun( ); //合法,可以调用const成员函数
}
3)const 对象可以调用类中const成员函数,但是不能调用非const成员函数。
例如: void Test::gun(void);
void Test::fun(void) const;
Test A;
( ) //非法,不能调用非const成员函数
( ); //合法,可以调用const成员函数
4)类中非const 对象和非const 成员函数都可以调用const成员函数。
例如: void Test::fun(void) const;
void Test::gun(void)
{
Fun( ); //合法,可以调用const成员函数
}
Test A;
( ); //合法,可以调用const成员函数
5)总结:类的对象和成员函数之间调用关系作如下表格。
对象调用成员函数
成员函数调用成员函数
对象
成员函数
合法/非法
调用者
被调用者
合法/非法
const
const
合法
const
const
合法
const
non-const
非法
const
non-const
非法
non-const
const
合法
non-const
const
合法
non-const
non

最近更新