隐式的作业完成
2014-10-20 16:48
106 查看
在课上,通过引用传递参数,我们覆盖的传递函数参数为const变量的优点。总的来说,决策变量常量确保它们的值是不小心更改。这是特别重要的传递变量的参考,为来电者一般不会期望值传递给一个函数被改变。
就像内置的数据类型(int,char,双,等),类的对象可以通过使用const关键字声明为const。所有的const变量必须在创建时初始化。在内置数据类型的情况下,在实例是通过显式或隐式的作业完成:
如果一个类没有使用参数化构造函数初始化,必须提供一个公共的默认构造函数,如果没有公共的默认构造函数是在这种情况下,编译器就会出现错误。
一旦一个const对象已被初始化通过构造函数,任何试图修改的对象的成员变量是不允许的,因为它违反了对象的常量。这包括改变成员变量直接(如果他们是公开的),或调用成员函数集的成员变量的值:
就像内置的数据类型(int,char,双,等),类的对象可以通过使用const关键字声明为const。所有的const变量必须在创建时初始化。在内置数据类型的情况下,在实例是通过显式或隐式的作业完成:
1 2 const int nValue = 5; // initialize explicitly const int nValue2(7); // initialize implictly
如果一个类没有使用参数化构造函数初始化,必须提供一个公共的默认构造函数,如果没有公共的默认构造函数是在这种情况下,编译器就会出现错误。
一旦一个const对象已被初始化通过构造函数,任何试图修改的对象的成员变量是不允许的,因为它违反了对象的常量。这包括改变成员变量直接(如果他们是公开的),或调用成员函数集的成员变量的值:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 class Something { public: int m_nValue; Something() { m_nValue = 0; } void ResetValue() { m_nValue = 0; } void SetValue(int nValue) { m_nValue = nValue; } int GetValue() { return m_nValue; } }; int main() { const Something cSomething; // calls default constructor cSomething.m_nValue = 5; // violates const cSomething.ResetValue(); // violates const cSomething.SetValue(5); // violates const return 0; }
相关文章推荐
- 隐式的作业完成
- 女人,这是专门为你完成作业的
- 【双目视觉探索路6】整体代码结构分析与作业完成(未完待续)
- Java小学期第二次作业 完成心得留存(字符串匹配、char型等)
- 2014.5.19 完成DM作业1
- Linux下完成的一个作业程序
- Java 大作业回忆--day07-- 我们的作品完成啦
- 11.15作业-完成table.html中按钮全选、全不选、反选的功能。
- IOS 作业项目(4)步步完成 画图 程序(中)
- UWP作业(三) 一个简单多媒体播放器的完成
- (hdu step 9.1.2)Doing Homework again(贪心——有n份作业,每份作业都有一定的完成时间及没有完成时需要付出的代价,求最小代价)
- JSP+Servlet培训班作业管理系统[16] -使用事务完成新增作业功能
- Linux-C基础知识学习:C语言作业-用for循环完成:输入10个数,求它们的和并输出
- 第三小组作业完成情况
- Linux下完成的一个作业程序
- SqlServer 作业完成后邮件通知
- Hadoop调度源码分析 作业提交到完成初始化部分
- 第一次作业完成情况
- 完成数据结构大作业
- 第三周作业——冒泡排序和归并排序(只完成冒泡算法)