下载此文档

一3数据的共享与保护.ppt


文档分类:IT计算机 | 页数:约25页 举报非法文档有奖
1/25
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/25 下载此文档
文档列表 文档介绍
C++程序设计
第3章数据的共享与保护
本章主要内容
共用数据的保护
对象的赋值与复制
静态成员
友元
§
共用数据的保护:为保证数据在一定范围内共享,同时又保证它不被任意修改
一、常对象:
定义一般形式
类名 const 对象名[(实参表列)];
或 const 类名对象名[(实参表列)];
例:const Box box1(1,1,1);
常对象的所有数据成员的值都不能被修改,也不能调用该对象的非const型的成员函数。
二、常对象成员
在声明类时将成员声明为const

const 类型数据成员名;
例:const float length;
length 为常数据成员,它的值不能发生改变
常数据成员只能通过构造函数的参数初始化表对常数据成员进行初始化。
在类体中声明一个常数据成员后,该类所有对象此常数据成员的值都不能改变

声明形式:类型函数名(参数表列) const;
定义形式:类型函数名(参数表列) const
{ 函数体}
常成员函数只能引用本类的数据成员,但不能修改数据成员
常成员函数可以引用const数据成员,也可以引用非const数据成员;
const数据成员可以被const成员函数引用,也可以被非const成员函数引用;
三、指向对象的常指针
定义一般形式:
类名*const 指针变量名=对象地址;
例: Box box1(1,1,1);
Box *const p1=&box1;
指针变量的指向关系不变,始终指向一个对象,但可以改变其所指对象中数据成员的值。
常用来做函数的形参,目的是不允许在函数调用的过程中改变指针变量的值。
四、指向常对象的指针变量

定义一般形式:
const 类型名*指针变量;
例:const int a;
const int *pt=&a;
说明:
常变量只能用指向常变量的指针变量来指向
指向常变量的指针变量还可以用来指向非const变量
此时不能通过指针改变指针所指向变量的值

定义形式:const 类名*指针变量名;
[例]读程改错
void main()
{ void fun(const Box *p);
Box box1(2,3,6);
fun(&box1);
}
void fun(const Box *p)
{
p->width=23;
cout<<p->width<<endl;
}
五、对象的常引用
引用:变量或对象的引用就是变量或对象的别名。
对象的常引用:const 类名&引用对象名;
常作函数的形参,保证在函数调用过程中不改变引用对象的值。
§ 对象的赋值
对象的赋值:
一般形式:对象名1=对象名2;
说明:
对象的赋值只对其中的数据成员赋值,而不对成员函数赋值;
类的数据成员中不能包括动态分配的数据。

一3数据的共享与保护 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
最近更新