C++从入门到入狱(7)

指向对象的常指针

Time *const pt1;//Time为已声明的类

此时将pt1声明为const型,则指针值始终保持为其初值不改变。

一般形式: 类名 *const 指针名;

指向常对象的指针变量

const 类型名 *指针变量名

1)不能通过该指针变量去修改其所指向的变量,只能引用。

2)若变量已被声明为常变量则必须用指向常变量的指针变量来指向它。

const型数据小结

Time const t1;

t1为常对象,无论何时都不能改变

Time:: fun()const;

fun作为Time类中的常成员函数,可以引用,但不能修改其数据成员的值

Time *const p;

p为指向Time对象的常指针,p的指向不能改变

const Time *p;

p为指向Time类常对象的指针,不能通过p来修改Time的对象的值,但可以改变其指向

Time &t1=t2;

指t1作为Time类对象t2的引用,二者指向同一内存空间

对象的动态建立和释放

动态建立对象:

new Box; //Box为已定义类

此时该对象称为 无名对象

在建立该对象时new会返回其存放空间的首地址,用户可通过此进行访问对象

而c++也允许在建立对象时进行初始化:

Box *pt = new Box(1,2,3);

若无法开辟所需的内存空间,则new会返回一个0指针值。

可使用delete进行释放内存空间:

delete pt;

对象的赋值和复制

 “=“实现两个同类对象之间的赋值,即将一个对象的成员值一一复制给另一个对象的对应成员。

对象赋值的一般形式: 对象名1 = 对象名2     

对象复制的一般形式: 类名 对象2(对象1); //用对象1复制出对象2

复制对象时调用一个特殊构造函数——复制构造函数,可将实参对象的各成员值一一赋给新的对象中对应的成员

静态数据

可以使得数据成员为所有同类对象所共有

静态数据成员

以关键字static开头,不属于某一个对象,而且静态数据成员是在所有对象之外单独开辟空间,类中只要定义了该数据,即使不定义对象,也为其分配空间,并可以被引用,在一个类中可以有一个或多个静态数据成员。静态数据成员可以进行初始化,但只能在类体外进行,

一般形式:  数据类型名:: 静态数据名=初值;

不必在该语句中加入static

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值