常对象成员
来源:互联网 发布:cheney算法 编辑:程序博客网 时间:2024/04/28 14:39
常对象成员包括常成员函数和常数据成员。
1. 常成员函数
使用const关键字声明的函数为常成员函数,常成员函数声明格式如下:
类型 函数名(参数表) const ;
对于常对象成员需要注意以下几点:
(1) const是函数类型的一个组成部分,因此在实现部分也要带const关键词。
(2) 常成员函数不更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数
(3) 如果将一个对象声明为常对象,则通过该常对象只能调用它的常成员函数,而不能调用其他成员函数。
(4) const关键字可以参与区分重载函数。例如,如果在类中有如下声明,则这是对print的有效重载。
void print() ;
void print() const ;
例:如下代码
#include <iostream>using namespace std ;class Sample{int n ;public :Sample(int i) { n = i ;}void print() {cout << "1: n = " << n << endl ;}void print() const {cout << "2: n = " << n << endl ;}} ;void main(){Sample a(10) ;const Sample b(20) ;a.print() ;b.print() ;}
输出如下:
2. 常数据成员
就像一般数据一样,类的成员数据也可以是常量和常引用,使用const声明的数据成员为常数据成员。如果在一个类中声明了n个常数据成员,那么构造函数就只能通过初始化列表对该数据成员进行初始化,其一般格式如下:
构造函数(参数表):常数据成员1(参数1),常数据成员2(参数2),···,常数据成员n(参数n)
其中,冒号后面是一个数据成员初始化列表,它包含一个初始化项,当有多个初始化项时,要用逗号分隔开。“参数1”~“参数n”均为“参数表”中的某个参数。这样,在执行构造函数时自动将“常数据成员1”赋值为“参数1”的值,“常数据成员2”赋值为“参数2”的值,“常数据成员n”赋值为“参数n”的值等。
例:如下代码
#include <iostream>using namespace std ;class Sample{const int n, m ;public :Sample(int i, int j) : n(i), m(j) {} void print() {cout << "n = " << n << ", m = " << m << endl ;}} ;void main(){Sample a(10, 20) ;a.print() ;}
输出如下:
- 常成员、常对象
- 常对象 常成员函数
- 常对象与常成员
- 常引用,常对象,常成员函数,常数据成员~
- C++ 常对象成员、常成员函数
- 常对象成员和常成员函数
- 常对象成员
- 常对象成员
- 常对象成员总结
- 常对象成员
- 常对象、常对象成员、常成员函数
- 常对象和常对象成员
- 常对象 常对象成员 知识点
- 常成员变量、常成员函数及常对象
- 常对象 常成员函数 的关系
- 常成员函数与常对象
- c++ 常成员函数 和 常对象
- 常对象和常成员函数
- strpbrk 函数解析
- 基于arm架构单片机的hadoop服务器尝试
- 断点续传的原理剖析与实例讲解
- Python多线程学习
- DWR详解(二)——反向AJAX
- 常对象成员
- Flex动态生成可编辑的DataGrid
- oracle-----熟悉基本使用
- Android 调用系统email程序发邮件
- 端口复用和重映射
- frame
- QT查看获取路径
- 简明 Vim 练级攻略
- 开始写博客,嗯哼