关于“类中的常量”

来源:互联网 发布:淘宝客服话术下载 编辑:程序博客网 时间:2024/06/05 16:17

C++中常量的定义const比define的优势:

1:const常量有数据类型,编译器可以执行类型安全检查,而宏常量只是进行字符替换,所以没有类型安全检查

2:有些集成化调试工具对const常量进行调试,却不能对宏常量进行调试

#include <iostream> using namespace std;class MyClass{public:enum{SIZE1=20,SIZE2=10};//枚举常量,实现整个类中都恒定的常量;缺点:隐含数据类型为整型const int SIZE;//不能在此初始化MyClass(int size);MyClass();protected://const int SIZE;private://const int SIZE;};MyClass::MyClass(int size):SIZE(size)//可以在构造函数的初始化表中初始化{;//}MyClass::MyClass():SIZE(SIZE){cout<<"default constructor"<<endl;}void main(){MyClass myclass(100);MyClass myclassdefault;//"default constructor"cout<<myclass.SIZE<<endl;//100cout<<myclassdefault.SIZE<<endl;//随机值cout<<myclass.SIZE1<<endl;//20}

PS:以上是根据林锐博士《高质量c++编程》5.4自己写下Demo,回头想想这些,老师在课堂上面也是讲了的,让我想起来,最近水源上面说现在很多大学都不讲c++,而是Java .NET了,一下子赶脚,好像自己的学校也不是很差了。。。后面这句纯属扯淡了哈。。。