news 2026/4/16 14:39:39

06. C++类

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
06. C++类

1.C++类简介

2.C++类示例


1.C++类简介

C++类的本质是将"数据(属性)""操作的方法(函数)"封装成一个整体 a.访问修饰符-private:私有成员(默认),仅类内部可访问,用于封装核心数据,避免外部随意修改-public:公有成员,类外部可访问,用于提供对外操作接口(drive()setSpeed())-protected:保护成员,仅类内部和子类可访问(继承时用)b.构造/析构函数-构造函数:对象"出生"时初始化数据,无返回值、名字和类名一致-析构函数:对象"死亡"时清理资源(如动态内存),格式为"~类名()",无参数、无返回值

2.C++类示例

#include <iostream>#include <string>usingnamespacestd;// 1. 定义类:class关键字 + 类名(首字母通常大写)classCar{// 2. 访问修饰符:控制成员的访问权限(核心)private:// 私有成员:仅类内部可访问(封装的核心,保护数据)stringbrand;// 成员变量(属性):汽车品牌intspeed;// 成员变量(属性):行驶速度public:// 公有成员:类外部可访问(提供对外接口)// 3. 构造函数:创建对象时自动调用,用于初始化成员变量// 特点:与类名相同、无返回值、可重载Car(stringb,ints):brand(b),speed(s){// 初始化列表(更高效的写法)cout<<"构造函数调用:"<<brand<<"已创建"<<endl;}// 4. 析构函数:对象销毁时自动调用,用于释放资源(如内存、文件句柄)// 特点:~+类名、无返回值、无参数、仅一个~Car(){cout<<"析构函数调用:"<<brand<<"已销毁"<<endl;}// 5. 成员函数(方法):操作成员变量的函数// 行为1:行驶voiddrive(){cout<<brand<<"正在以"<<speed<<"km/h行驶"<<endl;}// 行为2:修改速度(封装体现:通过接口控制私有属性的修改规则)voidsetSpeed(intnewSpeed){// 合法性检查:避免设置不合理的速度if(newSpeed>=0&&newSpeed<=200){speed=newSpeed;}else{cout<<"错误:速度必须在0-200之间!"<<endl;}}// 行为3:获取当前速度(封装体现:对外暴露只读接口)intgetSpeed(){returnspeed;}};// 2. 使用类(实例化对象)intmain(){// 创建对象(实例化类):自动调用构造函数CarmyCar("特斯拉",80);// 调用公有成员函数(访问类的行为)myCar.drive();// 输出:特斯拉正在以80km/h行驶// 修改私有属性(必须通过公有方法)myCar.setSpeed(120);myCar.drive();// 输出:特斯拉正在以120km/h行驶// 尝试设置非法速度(触发合法性检查)myCar.setSpeed(250);// 输出:错误:速度必须在0-200之间!// 获取私有属性(通过公有方法)cout<<"当前速度:"<<myCar.getSpeed()<<endl;// 输出:当前速度:120// 程序结束时,对象销毁,自动调用析构函数return0;}

C++,结构体和类在本质上几乎是等价的(唯一核心区别是默认访问权限),它们的实例(对象)存在哪里,只看你怎么创建:a.栈上创建:直接定义变量(自动存储,函数/代码块结束后自动释放)b.堆上创建:new关键字动态分配(手动分配,需delete释放,否则内存泄漏)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/31 6:28:00

基于深度学习的油气知识图谱平台

✅ 博主简介&#xff1a;擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导&#xff0c;毕业论文、期刊论文经验交流。✅成品或者定制&#xff0c;扫描文章底部微信二维码。(1) 油气领域实体关系数据集构建与预处理方法知识图谱作为一种结构化的知识表示方式&…

作者头像 李华
网站建设 2026/4/16 11:51:53

基于深度学习的人机协同产品造型仿生设计

✅ 博主简介&#xff1a;擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导&#xff0c;毕业论文、期刊论文经验交流。✅成品或者定制&#xff0c;扫描文章底部微信二维码。(1) 基于深度生成模型的产品造型仿生融合方法仿生设计是产品创新的重要途径&#xff…

作者头像 李华
网站建设 2026/4/11 9:22:16

【计算机毕业设计案例】基于SpringBoot+Vue打造智能医疗挂号系统springboot的智慧医疗网上预约系统(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/10 12:33:03

Java毕设项目推荐-基于springboot+vue的高速隧道云视频监控管理信息平台设计与实现【附源码+文档,调试定制服务】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/15 12:08:25

【课程设计/毕业设计】基于springboot的隧道云视频监控管理信息平台设计与实现隧道内事故、火灾、车辆滞留等问题监察【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/4 1:03:05

维普AI率爆表?别急,这6个方法亲测有效

维普AIGC检测高&#xff1f;6款工具帮你降到合格线 TL;DR&#xff1a;维普AIGC检测算法和知网不同&#xff0c;很多知网能过的工具在维普可能过不了。实测对维普效果最好的是嘎嘎降AI&#xff08;67%→9%&#xff09;&#xff0c;其次是比话降AI&#xff08;60%→12%&#xff0…

作者头像 李华