类和对象

本文详细介绍了C++中常对象的概念及其使用方法,包括常对象的定义与调用限制,常成员函数的特点及如何正确使用,以及常数据成员的初始化方式。此外还深入探讨了静态成员的作用和定义格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常类型:

常对象包括常成员函数和常数据成员.

1,

常对象定义格式: 类名 const 对象名;

                       const 类名 对象名;

定义常对象时必须初始化,且其数据不能被更新.

2,

常对象只可以调用它自己的常成员函数.

常成员函数:

1,

1,声明格式: 类型 函数名(参数表) const;

2,const是函数类型的一耳光组成部分,在定义部分也要有const.

3,常成员函数不能更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数.

4,const关键词可以参与区分重载函数.

常数据成员:

1,

类中有常数据成员,那么构造函数只能通过初始化列表来对该数据成员进行初始化.格式:

构造函数(参数表):常数据成员1(参数1),常数据2(参数2),…,常数据n(参数n){}

2,初始化const或引用类型数据成员的唯一机会是在构造函数的初始化列表中.

静态成员: 

静态数据成员: 

节省存储空间.

定义格式:

类内定义:static 类型 静态数据成员=值;

类内声明,类外定义:static 类型 静态数据成员;

                        类型 类名::静态数据成员=值;

引用格式:类名::静态数据成员

1,

静态数据成员是累中所有对象共享的成员.

因静态数据成员不属于任何一个具体对象,因此必须对其初始化,但不能再构造函数中进行.(类内定义和类外定义),

静态成员函数:

1,

声明格式:

             static 类型 静态函数名(参数表);

调用格式:

              类名::静态成员函数名(参数表);

2,

静态成员函数只能访问静态数据成员`静态成员函数和类以外的函数和数据,不能访问类中的非静态数据成员(非静态数据成员只要对象存在时才有意义).

子对象:在一个类中定义另一个类的对象.

子对象工作函数的数据和执行次序:(类A包含类B的对象obj.)

1,类A的构造函数: A(参数表1):obj(参数表2) {函数体;}

2,若建立对象obj时调用类B的默认构造函数,则可省略”obj(参数表2)”

3,当类A中有多个子对象时,在A的构造函数”:”后依次列出个子对象的初始化表达式,它们之间用逗号分隔.(子对象初始化列表).

4,A的构造函数执行次序是以子对象在类A中声明的次序调用子对象初始化列表中列出的各构造函数,然后执行函数体.

子对象析构函数的设计和执行次序:

~A() {函数体;}

执行次序: 先执行函数体,再以子对象在类A中声明的相反次序调用个类的析构函数.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值