标签:pac ons 构造函数 main space 引用 变量 ret 列表
一)常对象
加const关键字即可,例,const box(a,b,c)
二)常对象成员
1.在构造函数进行赋值时常数据成员只能利用初始化列表进行初始化
2.常成员函数可以引用普通数据成员,常数据成员和常对象,但都不能改变其值
3普通成员函数可以引用普通数据成员(能改变其值),常数据成员(不能改变其值),但不能引用常对象;
常对象 | const box(a,b,c); |
常数据成员 | const int a; |
常成员函数 | void show() const |
三)指向常对象的指针指针变量
1. 指向常变量的指针变量可以指向const和普通变量,但不可以改变所指变量的值
普通的指针变量只能指向普通变量,可以改变所指变量的值
2. 指向 对象 的常指针变量 time *const p;
指向 常对象 的指针变量 const time *p;
3. 指向 常对象 的指针变量最常用于函数的形参,目的是在保护形参指针所指的对象在执行过程中不被修改
#include<iostream> using namespace std; class time { public: int h; int m; int s; time(int a,int b,int c):h(a),m(b),s(c){} }; void show(const time *p)///形参是指向const型time对象的指针变量 { ///main函数的t1是只读对象不能被修改 cout<<p->h<<endl; } int main() { time t1(1,2,3); show(&t1); return 0; }
结果:
但去掉 const 则可以改变其值
#include<iostream> using namespace std; class time { public: int hour; int m; int s; time(int a,int b,int c):hour(a),m(b),s(c){} }; void show(time *p) { p->hour=2; cout<<p->hour<<endl; } int main() { time x(1,5,6); show(&x); return 0; }
结果:
标签:pac ons 构造函数 main space 引用 变量 ret 列表
原文地址:http://www.cnblogs.com/hhkobeww/p/6698579.html