C++ 教程 - 04 类的使用

文章目录

  • 类的定义
  • 类定义案例

类的定义

C++ 在 C 语言的基础上增加面向对象编程,类是用于指定对象的形式,是一种用户自定义的数据类型,封装了数据和函数。类可以被看作是一种模板,可以用来创建具有相同属性和行为的多个对象。

  • class 关键字定义类,相当于在结构体中加入方法;
    • 花括号内定义成员变量、成员方法,并且分块表示,每块使用public/private/protected关键字修饰
  • 最后以分号结束
  • 访问修饰符
    • public,公有访问,最大的访问权限,对象可以直接调用属性、方法;
    • protected,受保护的访问,只能在类内部访问,对象无法调用;可以被子类继承,并在子类内部访问;
    • private, 私有访问,只能在类内部访问,对象无法调用;可以被子类继承,但子类内部也无法访问
  • 使用冒号表示继承;
    • class Dog : public Animal { }; 公有继承,访问权限不变;
    • class Dog : protected Animal { }; 受保护的继承,public 访问模块变成 protected
    • class Dog : private Animal { }; 私有继承,继承下来的全部为私有访问权限;

在这里插入图片描述
 

类定义案例

#include <iostream>
#include <string>
#include <math.h>
using namespace std;// 类的声明 一般在头文件
class Stu {public: // 公有权限 接口const string& getName() const { // const 表示常量成员函数 (只读,不会改变实例对象的任何数据)return name; // this指针指向当前实例对象,可以省略   this->name;// 返回name的常量引用,避免值拷贝的内存消耗}void setName(const string& name) {// 直接访问当前对象 的属性this->name = name;}private: // 数据放在 私有访问 块string name;
};int main() {// 创建对象Stu stu;// 设置名字stu.setName("jack");string name = stu.getName();cout << "got name:" << name << endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/32795.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python爬虫学习笔记一(基本概念urllib基础)

学习资料&#xff1a;尚硅谷_爬虫 学习环境: pycharm 一.爬虫基本概念 爬虫定义 > 解释1&#xff1a;通过程序&#xff0c;根据URL进行爬取网页&#xff0c;获取有用信息 > 解释2&#xff1a;使用程序模拟浏览器&#xff0c;向服务器发送请求&#xff0c;获取相应信息…

分布式缓存和分布式对象池有什么区别?

分布式缓存和分布式对象池是两种不同的概念&#xff0c;它们在分布式系统中扮演着不同的角色&#xff0c;服务于不同的目的。下面分别解释它们的含义和区别&#xff1a; ### 分布式缓存&#xff08;Distributed Cache&#xff09; 分布式缓存是一种分布式存储系统&#xff0c…

尚品汇-(五)

商品管理模块开发 下面用到的表&#xff1a; 属性表&#xff1a; 属性值表&#xff1a; 分类一表&#xff1a; 分类二表&#xff1a; 分类三表&#xff1a; 1.1在service 模块下搭建service-product 搭建过程同common-util 添加配置文件application.yml spring:applicatio…

C#基于SkiaSharp实现印章管理(1)

最近对着微软的教程学习SkiaSharp的概念及用法&#xff0c;由于之前使用GDI绘制过坐标系、印章等程序&#xff0c;准备使用SkiaSharp、SKControl控件编写简单的印章设计功能&#xff0c;并能用印章对图片盖章。本文实现创建印章背景、序列化及反序列化印章对象等功能。   VS2…

PostgreSQL进阶教程

PostgreSQL进阶教程 目录 事务和并发控制 事务事务隔离级别锁 高级查询 联合查询窗口函数子查询CTE&#xff08;公用表表达式&#xff09; 数据类型 自定义数据类型数组JSON 高级索引 部分索引表达式索引GIN和GiST索引 性能调优 查询优化配置优化 备份与恢复 物理备份逻辑备份…

2-14 基于matlab的GA优化算法优化车间调度问题

基于matlab的GA优化算法优化车间调度问题。n个工作在m个台机器上加工。已知每个工作中工序加工顺序、各工序的加工时间以及每个工件所包含的工序&#xff0c;在满足约束条件的前提下&#xff0c;目的是确定机器上各工件顺序&#xff0c;以保证某项性能指标最优。程序功能说明&a…

视频讲解|【双层模型】分布式光伏储能系统的优化配置方法

1 主要内容 该讲解视频对应的程序链接为【双层模型】分布式光伏储能系统的优化配置方法&#xff0c;模型参考《分布式光伏储能系统的优化配置方法》&#xff0c;分为上下层求解方式&#xff0c;上层采用粒子群算法确定储能的选址和容量方案&#xff0c;以全年购电成本、网络损…

YouTube API接口:一键获取Playlist视频合集信息

核心功能介绍 在视频内容日益繁荣的今天&#xff0c;YouTube作为全球领先的视频分享平台&#xff0c;为内容创作者、品牌商家以及数据分析师提供了丰富的视频资源。其中&#xff0c;Playlist视频合集作为YouTube上的一种特色内容形式&#xff0c;深受用户喜爱。为了更好地满足…

TCP与UDP_三次握手_四次挥手

TCP vs UDP TCP数据 具体可以通过Cisco Packet Tracer工具查看&#xff1a; UDP数据 三次握手、四次挥手 为什么是3/4次&#xff1f;这牵扯到单工、双工通信的问题 TCP建立连接&#xff1a;表白 TCP释放连接&#xff1a;分手 TCP—建立连接—三次握手 解释&#xff1a; 首先&…

HTML与CSS的初步解析及实践案例

目录 1&#xff0c;HTML概览与基本语法 基本结构&#xff1a; 头部标签&#xff1a; 常用标签与属性 CSS概述与基本语法 CSS选择器与属性 盒子模型与布局 实例展示 1&#xff0c;HTML概览与基本语法 HTML&#xff0c;即超文本标记语言&#xff0c;是网页的基础构建语言…

本地离线模型搭建指南-LLaMA-Factory训练框架及工具

搭建一个本地中文大语言模型&#xff08;LLM&#xff09;涉及多个关键步骤&#xff0c;从选择模型底座&#xff0c;到运行机器和框架&#xff0c;再到具体的架构实现和训练方式。以下是一个详细的指南&#xff0c;帮助你从零开始构建和运行一个中文大语言模型。 本地离线模型搭…

【面试】基本数据类型的包装类缓存

目录 1. 说明2. Integer类分析2.1 代码块2.2 字节码2.3 分析2.4 valueOf方法 1. 说明 1.在java中&#xff0c;基本数据类型的包装类&#xff08;Integer、Byte、Character、Short、Long、Boolean&#xff09;的某些值会被缓存。2.以提高性能并减少内存使用。3.这种缓存机制是自…

Rxjava2最全面的解析

说到区别&#xff0c;可能有的小伙伴会问&#xff0c;我没看过rxjava1。可以直接看rxjava2么。个人觉得不必要&#xff0c;因为 rxjava2.x 是按照 Reactive-Streams specification 规范完全的重写的&#xff0c;完全独立于 rxjava1.x 而存在&#xff0c;它改变了以往 rxjava1的…

如何看待鸿蒙HarmonyOS?

鸿蒙系统&#xff0c;自2019年8月9日诞生就一直处于舆论风口浪尖上的系统&#xff0c;从最开始的“套壳”OpenHarmony安卓的说法&#xff0c;到去年的不再兼容安卓的NEXT版本的技术预览版发布&#xff0c;对于鸿蒙到底是什么&#xff0c;以及鸿蒙的应用开发的讨论从来没停止过。…

物联网系统运维——移动电商服务器单点部署,web服务器部署,Nginx Web服务介绍,Nginx性能,部署,架构,及实验:安装并设置Nginx(重点)

一.web服务器介绍 Web服务器一般指网站服务器&#xff0c;是指驻留于因特网上提供某种特定类型计算机的程序&#xff0c;Web服务器可以向浏览器等Web客户端提供文档&#xff0c;也可以放置网站文件&#xff0c;让全世界浏览&#xff0c;可以放置数据文件&#xff0c;让全世界下…

力扣SQL50 游戏玩法分析 IV 子查询

Problem: 550. 游戏玩法分析 IV &#x1f468;‍&#x1f3eb; 参考题解 这个SQL查询的目的是计算每个玩家在登录后的第二天参与活动的比例。查询使用了子查询和左连接来实现这一目的。下面是查询的详细解释&#xff0c;包括每个部分的作用和注释&#xff1a; -- 计算每个玩…

Leetcode 3192. Minimum Operations to Make Binary Array Elements Equal to One II

Leetcode 3192. Minimum Operations to Make Binary Array Elements Equal to One II 1. 解题思路2. 代码实现 题目链接&#xff1a;3192. Minimum Operations to Make Binary Array Elements Equal to One II 1. 解题思路 这一题的话就是一个动态规划&#xff0c;我们使用两…

【K8S运维】整理常见使用命令

*特别提醒: 文件复制类的命令&#xff0c;执行命令等需要谨慎确定命令执行后的效果&#xff0c;否则一旦出错就不可逆&#xff01;&#xff01;&#xff01; 命令概览 序号使用场景命令格式使用样例命令使用说明1查询集群节点有多少kubectl get nodes2查询集群运行哪些podkub…

文华财经多空精准买卖点止损止盈数值主图指标公式源码

文华财经多空精准买卖点止损止盈数值主图指标公式源码&#xff1a; DD:EVERY(H>HV(H,20),1); KK:EVERY(L<LV(L,20),1); D:DD&&SUM(DD,BARSLAST(KK))1; K:KK&&SUM(KK,BARSLAST(DD))1; Y:1; DRAWCOLORKLINE(Y&&ISDOWN,COLORYELLOW,0); DRAW…

【原创】springboot+mysql海鲜商城设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…