怎么又可以修改的const的值了??
既然const定义的是一个常量,就不能修改了,为什么下面的代码做到了
#include <iostream>
using namespace std;
class World
{
public:
World(int id) : a(id)
{ cout<<"hello from world "<<a<<".\n";
}
~World()
{
cout<<"goodbye from world "<<a<<".\n";
}
private:
const int a;
};
World Theuniverse(1);
void main()
{
World Smalleworld(2);
}
a是常量,可运行后有1有2两个值
问题点数:50、回复次数:17Top
1 楼mccxj(老鼠不逛街)回复于 2005-06-01 19:21:47 得分 50
因为你用了类生成了两个实例对象。。每个const变量对应一个实例Top
2 楼mccxj(老鼠不逛街)回复于 2005-06-01 19:24:33 得分 0
不变是指实例对应的那个变量不变。。而不是全部的都不变。。其实就是Theuniverse.a和Smalleworld.a。。。。Top
3 楼ange992(学生)回复于 2005-06-01 19:25:29 得分 0
谢谢了,呵呵,你真厉害Top
4 楼ange992(学生)回复于 2005-06-01 19:26:09 得分 0
以后就问你了Top
5 楼48485401(想飞的翅膀)回复于 2005-06-01 19:33:47 得分 0
50分被抢了...Top
6 楼useresu(俗人)(灌水是我无言的抗议)回复于 2005-06-01 19:58:40 得分 0
恩,每个实例的成员不同,但一旦初始化就都不能变了Top
7 楼Salam2001(Upgrading : C++ and Data Structure ...)回复于 2005-06-01 20:41:27 得分 0
严重汗一个~~~
建议还是好好看书先~~~Top
8 楼yangguo_god(狂学java....)回复于 2005-06-01 20:45:56 得分 0
两个实例的两个成员,正常Top
9 楼sunman1982(冥王星)回复于 2005-06-01 21:06:33 得分 0
来晚了Top
10 楼umbrella1984(雨伞(KEN))回复于 2005-06-01 21:10:30 得分 0
只能接分Top
11 楼humanity(城市边缘的狼)回复于 2005-06-01 22:12:34 得分 0
按没有分拣只好扫垃圾了。 ^_^Top
12 楼foochow(无聊,灌水......)回复于 2005-06-01 22:31:51 得分 0
JFJFJ...555555555~~~~我怎么用代理才能上论坛,速度好慢,郁闷-_-Top
13 楼krfstudio()回复于 2005-06-01 22:35:10 得分 0
汗………………Top
14 楼cjxunoo(jason)回复于 2005-06-01 22:52:00 得分 0
建议区分const和staticTop
15 楼cheng19long(龙仔)回复于 2005-06-01 23:01:29 得分 0
同意上面的说法,对象是建立一个,里面的值是不是变的,建两个对象时,相互不影响~Top
16 楼mostideal(三甲)回复于 2005-06-01 23:54:13 得分 0
又来晚了。。呵呵Top
17 楼zdy_8212(zdy_8212)回复于 2005-06-02 01:08:52 得分 0
和我以前一样,呵。。定义在前面的老是在执行后才发现。const常量值,static标定静态对象,可共享数据。但就是本对象可变。Top




