当前位置: 首页 > article >正文

类和对象——(3)再识对象

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝
     你说那里有你的梦想,你说只要你足够努力就能成功!

一起加油!

目录

一、前言:

二、定义一个对象:

🔑说明:

三、通过对象访问类成员: 

💦例:学生类对象访问学生类中的公有成员。

四、通过对象指针、对象引用访问类成员: 

 💦对象指针访问类中成员:        

💦例:学生类对象指针访问学生类中的公有成员。

 🔑说明:

 💦对象引用访问类中成员:

五、总结:

六、共勉: 


一、前言:

        类本质上是用户自定义的一种数据类型,对象可以看成是通过类这种数据类型定义的变量。

二、定义一个对象:

        可以在定义类的同时定义对象;也可以在声明类之后,在需要时再定义对象定义对象的格式与定义一般变量的格式相同

🔑说明:

💦声明了一个类以后,便声明了一种类型,它并不接收或存储具体的值只有在定义了对象后,系统才为对象并且只为对象分配存储空间

💦在声明类的同时定义对象为全局对象,在它的生存期内任何函数都可以使用它如果在一个函数中定义,那它就是局部对象,只在函数内部有效。

三、通过对象访问类成员: 

        在定义了类对象后,就可以通过类对象访问类中成员; 注意通过类外部的类对象只能直接访问其公有成员,不能直接访问其私有成员和保护成员类对象可以通过类的公有成员间接实现对私有成员和保护成员的访问。

💦例:学生类对象访问学生类中的公有成员。

#include<iostream>
#include<string>
using namespace std;

class Student{
	private:
		int ID;
		string name;
		string sex;
		int age;
	public:
		void input(int pid,string pname,string psex,int page);
		void print();
};

void Student::input(int pid,string pname,string psex,int page){
	ID=pid;
	name=pname;
	sex=psex;
	age=page;
}

void Student::print(){
	cout<<"ID:"<<ID<<"\nName:"<<name<<"\nSex:"<<sex<<"\nAge:"<<age<<endl;
}

int main(){
	Student std;
	std.input(20230011,"张三","男",18);
	std.print();
}

四、通过对象指针、对象引用访问类成员: 

        如果类是用户自定义的一种数据类型,那么对象就是自定义的数据类型一类声明的一种应量,变量可以有对应的指针和引用,因此对象也可以有对应的指针和引用

 💦对象指针访问类中成员:        

        对象指针,就是一个指针变量指向对象,也就是指针变量中存储的是对象的地址。由于类和结构具有相似性,对象指针和结构指针的使用方法也是相似的,也是使用箭头操作符->来访问该指针所指向的对象的成员数据或成员函数。

        指针访问类成员的一般格式如下:

对象指针变量名->公有成员

或者也可以等价写成下列形式

(*对象指针变量名).公有成员

这两种表达形式是等价的。

💦例:学生类对象指针访问学生类中的公有成员。

#include<iostream>
#include<string>
using namespace std;

class Student{
	private:
		int ID;
		string name;
		string sex;
		int age;
	public:
		void input(int pid,string pname,string psex,int page);
		void print();
};

void Student::input(int pid,string pname,string psex,int page){
	ID=pid;
	name=pname;
	sex=psex;
	age=page;
}

void Student::print(){
	cout<<"ID:"<<ID<<"\nName:"<<name<<"\nSex:"<<sex<<"\nAge:"<<age<<endl;
}

int main(){
	//动态申请一个学生对象空间,空间的首地址放在Student类对象指针变量pstd	
	Student *pstd=new Student;
	pstd->input(20230011,"张三","男",18);
	pstd->print();
	delete pstd;
	return 0;
}

 

 🔑说明:

        *pstd 是堆对象,程序在运行过程中根据需要可随时建立或删除对象,通过 new 运算符创建对象,通过 delete 运算符删除对象。

 💦对象引用访问类中成员:

        引用的概念,引用就是给变量起一个别名,对引用进行操作就是对变量本身进行操作。通过引用又提供了另外一种访问变量的方式,给程序设计带来了很大的方便,尤其是引用作为函数形参传递时。对象也可以有引用,声明一个对象引用的格式如下: 

类名 &引用名 a = 对象名 b;

        此时相当于给已有的对象 b 又取了一个名称叫作 a,对a的操作与对b的操作一样例如,对于学生类 Student,可以定义对象引用访问公有成员,代码片断如下: 

Student s;//定义一个Student类对象s
Student &rs=s;//声明一个s的引用rs,相当于给对象s取了一个别名rs
rs.input(20230011,"张三","男",18);//对rs操作就是对s操作
rs.print();//等价与s.print();

五、总结:

  • ⭐ 类本质上是用户自定义的一种数据类型,对象可以看成是通过类这种数据类型定义的变量。
  • ⭐ 可以在定义类的同时定义对象;也可以在声明类之后,在需要时再定义对象。
  • ⭐ 注意通过类外部的类对象只能直接访问其公有成员,不能直接访问其私有成员和保护成员。
  • ⭐ 类对象可以通过类的公有成员间接实现对私有成员和保护成员的访问。
  • ⭐ 对象也可以有对应的指针和引用
  • ⭐  对象指针,就是一个指针变量指向对象,也就是指针变量中存储的是对象的地址

六、共勉: 

        以上就是我对类和对象——(3)再识对象的理解,希望本篇文章对你有所帮助,也希望可以支持支持博主,后续博主也会定期更新学习记录,记录学习过程中的点点滴滴。如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对类和对象的理解,请持续关注我哦!!! 


http://www.kler.cn/a/152000.html

相关文章:

  • Android中添加C或C++代码
  • 【Python篇】详细讲解正则表达式
  • 解决warning: #188-D: enumerated type mixed with another type问题
  • 回顾Django的第二天
  • python高级练习题库实验1(A)部分
  • U-GAT-IT 使用指南:人脸动漫风格化
  • WTM(基于Blazor)问题处理记录
  • Linux 代码编辑器:vim
  • 网络数据结构skb_buff原理
  • 自动驾驶芯片指标AI算力TOPS和CPU算力DMIPS
  • Oracle很好的自动拼接某个字段的函数listagg使用实例
  • JavaScript 一只青蛙想要过河
  • Android Studio Giraffe版本遇到的问题
  • Windows本地搭建Emby媒体库服务器并实现远程访问「内网穿透」
  • ERP软件对Oracle安全产品的支持
  • 血的教训---入侵redis并免密登录redis所在服务器漏洞复现
  • 珠宝模具3d仿真沉浸式交互展示更易分享传播
  • 文心一言 VS 讯飞星火 VS chatgpt (146)-- 算法导论12.2 1题
  • Django之importlib模块
  • 速达软件全系产品 RCE漏洞复现