苏宁易购网站建设 的定位,网站支付怎么做安全吗,开发公司起名大全,wordpress手机端显示const常量对象,无法改变数据,只能引用尾部带const方法类的成员如果是const,可以默认初始化,也可以构造的初始化,不可在构造函数内部初始化类中的const成员,无法直接修改,可以间接修改类的成员函数const三种情形:1.返回值const,2.返回常量,3.参数const,可读不可写,尾部const,常量…const常量对象,无法改变数据,只能引用尾部带const方法类的成员如果是const,可以默认初始化,也可以构造的初始化,不可在构造函数内部初始化类中的const成员,无法直接修改,可以间接修改类的成员函数const三种情形:1.返回值const,2.返回常量,3.参数const,可读不可写,尾部const,常量对象可读不可以写,变量可以访问const不适用于构造与析构mutable不受const锁定代码示例 1 #include iostream2 using namespace std;3 4 //创建对象的时候,const常量对象,无法改变数据,只能引用尾部带const方法5 //类的成员如果是const,可以默认初始化,也可以构造的初始化,不可在构造函数内部初始化6 //类中的const成员,无法直接修改,可以间接修改7 //类的成员函数const三种情形:1.返回值const,2.返回常量,3.参数const,可读不可写,尾部const,常量对象可读不可以写,变量可以访问8 //const不适用于构造与析构9
10
11 class myclass
12 {
13 public:
14 int x;
15 int y;
16 //如果有常量构建的时候必须初始化,或者默认初始化
17 const int z;
18
19 myclass(const int a):z(a)
20 {
21 }
22
23 //后面加const表明不改变原生数据
24 void show() const
25 {
26 cout z endl;
27 }
28
29 //保护参数不被修改
30 void change(const int a,const int b)
31 {
32 x a;
33 y b;
34 }
35
36 const int getx() const //返回一个常量,函数有保护作用
37 {
38 return x;
39 }
40 };
41
42 //内部const
43 void mai1n()
44 {
45 //常量对象,只能调用带const的方法,无法修改数据
46 const myclass my1(1);
47 //声明为const不能随意修改
48 //my1.x 20;
49 //间接修改类中的const变量
50 int *p const_castint *(my1.z);
51 *p 10;
52 my1.show();
53
54 cin.get();
55 }
56
57 //外部const
58
59 class myclass2
60 {
61 public:
62 int x;
63 int y;
64 int z;
65
66 //可以在const函数中改变,不被const锁定
67 mutable int time;
68
69 myclass2(int a 10, int b 10, int c 10) :x(a), y(b), z(c)
70 {
71
72 }
73
74 void show() const
75 {
76 time 3;
77 cout x y z endl;
78 }
79
80 void set(int a,int b,int c)
81 {
82 x a;
83 y b;
84 z c;
85 }
86 };
87
88 void main()
89 {
90 //这个对象不能改变数据
91 const myclass2 my(1, 2, 3);
92 const myclass2 *p new myclass2(4, 5, 6);
93
94 //不能改变指针的指向
95 myclass2 *const p2 new myclass2(1, 23, 4);
96 //既不能改变指向也不能改变数据
97 const myclass2 *const p3 new myclass2(1, 2, 3);
98 p2-show();
99 } 转载于:https://www.cnblogs.com/xiaochi/p/8591139.html