类中的常量

类中的常量

有时我们希望某些常量只在类中有效。由于#define 定义的宏常量是全局的,不能 达到目的,于是想当然地觉得应该用 const 修饰数据成员来实现。const 数据成员的确 是存在的,但其含义却不是我们所期望的。

const 数据成员只在某个对象生存期内是常 量,而对于整个类而言却是可变的,因为类可以创建多个对象,不同的对象其 const 数 据成员的值可以不同。 不能在类声明中初始化 const 数据成员。

以下用法是错误的,因为类的对象未被创 建时,编译器不知道 SIZE 的值是什么。

 

 1 #include <iostream>
 2 
 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 4 using namespace std;
 5 int main(int argc, char** argv) {
 6     
 7     //x,y 为操作数,c为运算符
 8     int x,y,z;
 9     char c1;
10     cin>>x>>c1>>y;   //c1
11 
12     //多路选择语句选择不同表达式计算语句
13     switch(c1) {
14           case '+':cout<<x<<"+"<<y<<"="<<x+y<<endl;
15                    break;
16           case '-':cout<<x<<"-"<<y<<"="<<x-y<<endl;
17                    break;
18           case '*':cout<<x<<"*"<<y<<"="<<x*y<<endl;
19                    break;
20           case '/':cout<<x<<"/"<<y<<"="<<x/y<<endl;
21                    break;
22           case '%':cout<<x<<"%"<<y<<"="<<x%y<<endl;
23                    break;
24           default :cout<<"Wrong !"<<endl; //当不符合上述情况时执行本子句
25     }
26     return 0;
27 }

 

posted @ 2018-08-02 11:51  Borter  阅读(223)  评论(0)    收藏  举报