C++程序设计原理与实践__记录2
来源:互联网 发布:wap彩票小偷源码 编辑:程序博客网 时间:2024/05/16 06:43
#include<iostream>using namespace std;class T{public:int get(){ return a;}void add_n(){a++;}T():a(0){}T(int i):a(i){}private:int a;};void do_somefuc(T &t,const T &const_t){ int a=t.get(); //int b=const_t.get(); /*cannot convert 'this' pointer from 'const class T' to 'class T &'*/ /*编译器不知道get()是否修改了对象a,const_t.get()是错误的,我们没有给出任何这方面的信息*//*因此编译器假定get()有更改对象a,报告一个错误*/ t.add_n(); // const_t.add_n(); 容易理解常量不能改变}int main(){T t1;T t2(8);do_somefuc(t1,t2);return 0;}
另一个版本 使用常量函数告诉编译器 没有改变对象。
#include<iostream>using namespace std;class T{public:int get() const /*使用const告诉编译器 get不改变对象a*/{ return a;}void add_n(){a++;}T():a(0){}T(int i):a(i){}private:int a;};void do_somefuc(T &t,const T &const_t){ int a=t.get(); int b=const_t.get(); t.add_n(); //const_t.add_n(); }int main(){T t1;T t2(8);do_somefuc(t1,t2);return 0;}
- C++程序设计原理与实践__记录2
- C++程序设计原理与实践__记录1
- 程序设计实践与提高2 - 学习记录
- C++程序设计原理与实践
- Windows程序设计__孙鑫C++Lesson1《Windows内部运行原理》
- C++__程序设计初步
- 程序设计实践课程记录2
- c++程序设计原理与实践---(2)错误?错误!
- 《C++程序设计原理与实践》部分习题答案 2
- 程序设计实践与提高1 - 学习记录
- Windows程序设计__孙鑫C++Lesson13《文档与串行化》
- 孟岩谈《C++程序设计原理与实践》
- 《C++程序设计原理与实践》书评
- 《C++程序设计原理与实践》读书笔记
- c++程序设计原理与实践--读书笔记
- 《C++程序设计原理与实践》std_lib_facilities.h
- 《C++程序设计原理与实践》习题4.3
- Windows程序设计__孙鑫C++Lesson8《对话框操作2》
- MQ入门摘录
- Hibernate 报错 Caused by: org.hibernate.HibernateException: cannot simultaneously fetch multiple bags
- C++标准程序库 学习笔记 第五章 STL(标准模板库概述)
- Android学习--为ListView添加按钮的相应事件,来处理不同的选择。
- 使用web技术构建Android应用(二)——序
- C++程序设计原理与实践__记录2
- UVa 442 Matrix Chain Multiplication
- 内嵌div居中,div中嵌套div,让其里面的div居中显示
- .NET 灰度直方图控件的实现
- poj 1659 (havel定理)
- JAVA必须要理解的一些问题
- MFC----windows控件----进度条控件(CProgressCtrl)
- Android学习--Android带删除按钮的ListView
- 时间最会见缝插针——大三下总结