常对象
来源:互联网 发布:桌面笔记软件 编辑:程序博客网 时间:2024/04/20 12:39
源代码:
<span style="font-size:14px;">#include<iostream>using namespace std;class Information{public:Information(int n);void Information_cout()const;void Information_modify()const;private:mutable double number; } ; Information::Information(int n) { number=n; } void Information::Information_cout()const { cout<<number<<endl<<endl; } void Information::Information_modify()const { number=3000; } class Information2 { public: Information2(int h); void Information2_cout(); private: const double number2; }; Information2::Information2(int h):number2(h){}//Information2::Information2(int h) {number2=h;} void Information2::Information2_cout() { cout<<number2<<endl<<endl; } int main() { const Information p1(1000); p1.Information_cout(); Information2 p2(2000); p2.Information2_cout(); const Information p3(10000); cout<<"比较结果:"<<endl; p3.Information_cout(); p3.Information_modify(); p3.Information_cout(); return 0; }</span>
运行结果:
总结:
1.常对象指的是数据不能被改变的对象;
2.常对象只能调用该对象的常成员函数,而不能调用该对象的普通成员函数(这里要出去系统自动调用的构造函数和析构函数),即对于常对象而已,只能访问对象中的常量(这里表示的是常变量和常成员函数)
3.常成员函数指的是该函数只能调用该对象中的数据,而不能够改变该对象中的数据;常成员函数在声明和定义都要加上const,而在引用的时候可以不加;
4.常数据成员构造函数的格式只能是如此源代码所示(即构造函数只能用参数初始化表对常数据成员进行初始化)假如换成:Information2::Information2(int h) {number2=h;}
是编译不了的;
5.有一种特殊处理数据的方式,就是在数据前面声明mutable,这样数据就可以被改变了;
6.常成员函数不能调用另外一个非常成员函数。
0 0
- 常成员、常对象
- 常对象
- 常对象
- 常对象
- 常对象
- 7.24常指针 常对象 常引用
- 常对象 常成员函数
- 常对象与常成员
- 常引用,常对象,常成员函数,常数据成员~
- 常对象和常对象成员
- 常对象 常对象成员 知识点
- 常引用、常对象、对象的常成员
- C++中const:常引用,常对象,常对象成员
- 常对象、常对象成员、常成员函数
- 常对象成员
- 对象的常引用
- c++常对象
- 常对象成员
- 我的Python学习之路之环境准备
- Objective-C——retain/copy/assign/atomic/nonatomic/strong/weak/readonly/readwrite详解
- js遍历表格数据
- iOS资源汇总(开源项目、第三方库、技术博客等)
- 版本控制系统:SVN
- 常对象
- Leetcode 29 —— Divide Two Integers
- 体验孤独
- 《JAVASCRIPT:THE COMPLETE REFERENCE》读书笔记 函数与对象
- XML扩展性标记语言
- SAS基础数据管理
- LeetCode#101. Symmetric Tree
- codeforces 627 problem A 好题呀,感觉学到了挺多的 亦或
- is running beyond virtual memory limits