Chapter 8 怎样使用类和对象(下篇)

⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️

8.2 对象数组

1.对象数组的每一个元素都是同类的对象

2.在建立数组时,同样要调用构造函数,如果有50个元素,那么就要调用50次构造函数

3.编译系统只为每一个对象元素的构造函数传递一个是实参,所以在定义数组时提供的实参个数不能超过数组元素个数

4.提问:如果构造函数有多个参数,在定义对象数组时应当怎样实现初始化呢?

回答:在花括号中分别写出构造函数名并在括号内指定实参

例子:Student stu[3]={

Student(1001,12,12);

Student(1002,13,13);

Student(1003,14,14);

};

⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️

8.3 对象指针

1.对象空间的起始地址就是对象指针

2.作用:可以定义一个指针数组,用来存放对象的地址,这就是指向对象的指针变量

a:指向对象数据成员的指针

形式:数据名 *指针变量名

b:指向对象成员函数的指针

注意⚠️:定义指向对象成员函数的指针变量的方法和定义指向普通函数的指针变量方法不同

a:定义指普通函数的指针变量

形式:类型名 (*指针变量名)(参数列表)

cpp 复制代码
void (*p)();//p指向void型函数的指针变量

b:定义指向对象成员函数的指针变量

形式:数据类型名(类名::*指针变量名)(参数列表)

cpp 复制代码
void (Time:: *p)();//定义p是指向Time类中公用成员函数的指针变量

c:使指针变量指向一个公用成员函数的一般形式:指针变量名=&类名::成员函数名

3.指向当前对象的this指针:在每一个成员函数中都包含一个特殊的指针,这个指针的名字是固定的,称为this

a:作用:它是指向本类对象的指针,他的值是当前被调用的成员函数所在的对象的起始地址

b:this指针在系统中是自动实现的

⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️

8.4 公用数据的保护

1.常对象的形式:类名 const 对象名[(实参名)] 也可以是const 类名 对象名[(实参名)]

2.常成员函数可以访问常对象中的数据成员,但仍然不允许修改常对象中数据成员的值

注意⚠️:常成员函数不能调用另一个非const成员函数

3.指向对象的常指针

a:将指针变量声明为const型,这样指针变量始终保持为初值,不能改变,即其指向不变,指向对象的常指针变量的值不能改变,即始终指向一个对象

b:形式:类名 * const 指针变量名

4.指向常对象的指针变量

a:形式:const 类型名 * 指针变量名

b:如果一个变量已被声明为常变量,只能用指向常变量的指针变量指向她它,而不能用一般的(指向非const型变量)指针变量去指向它

c:当希望在调用函数时对象的值不被修改,就应当把形参定义为指向常对象的指针变量,同时用对象的地址作实参(对象可以是const或非const)

⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️

9.5 对象的动态建立和释放

1.用new运算符动态建立对象,用delete运算符撤销对象

欢迎指正,共同学习!

相关推荐
uppp»8 分钟前
深入理解 Java 反射机制:获取类信息与动态操作
java·开发语言
玩电脑的辣条哥2 小时前
Python如何播放本地音乐并在web页面播放
开发语言·前端·python
悄悄敲敲敲3 小时前
C++:dfs习题四则
c++·算法·深度优先
安於宿命5 小时前
【Linux】进程间通信——进程池
linux·c++
ll7788115 小时前
LeetCode每日精进:20.有效的括号
c语言·开发语言·算法·leetcode·职场和发展
Jackson@ML6 小时前
Python数据可视化简介
开发语言·python·数据可视化
赵琳琅7 小时前
Java语言的云计算
开发语言·后端·golang
lly2024067 小时前
jQuery 杂项方法
开发语言
赵琳琅7 小时前
MDX语言的安全开发
开发语言·后端·golang
开开又心心的学嵌入式7 小时前
C语言——指针进阶应用
c语言·开发语言