常对象、常对象成员、常成员函数
2015-06-04 09:16
288 查看
一个程序解释这三个名词:
其中 常对象只能调用常成员函数,并不是“只有常对象才能调用常成员函数”,普通对象可以调用类中任意成员函数。把对象定义成常对象就意味着它的成员不能改变。
#include <iostream> using namespace std; class Website { public: Website() :a(0) //常对象成员只能用参数初始化表初始化 { b = 0; } ~Website(){} void show() { cout << "a=" << a << endl; //cout << "a=" << a++ << endl; //a为常量,值不能改变 cout << "b=" << b++ << endl; } void showConst()const //常成员函数 { cout << "a=" << a << endl; cout << "b=" << b << endl; } private: const int a; //常对象成员 int b; }; int main() { const Website objWebsite; //常对象 objWebsite.showConst(); //正确 //objWebsite.show(); //错误,常对象只能调用常成员函数 Website objWebsite1; //普通对象 objWebsite1.show(); //调用non-const成员函数 objWebsite1.showConst(); //调用常成员函数 return 0; }
其中 常对象只能调用常成员函数,并不是“只有常对象才能调用常成员函数”,普通对象可以调用类中任意成员函数。把对象定义成常对象就意味着它的成员不能改变。
相关文章推荐
- android平台蓝牙编程
- 凸优化和非凸优化
- svn 服务器不能看log问题
- 常用 sql
- 相似与相关
- 动态列表
- POJ 3122-Pie(二分+精度)
- maven下载源代码,解决中文注释为乱码的问题
- 把Jar文件转成exe安装文件
- Balanced Binary Tree
- C#中this的用法集锦
- C语言数据类型
- python错误总结大全--(一)
- GitBook 配置说明
- LightOJ1030(数学概率与期望)
- Android studio 下获取Android签名证书
- Swftools+FlexPaper实现PDF上传在线预览功能
- Android与服务器交互数据
- scala编程--1为什么选择scala
- JQuery方法查询