C++学习——类和对象(上)

C++学习——类和对象

  • 一、面向对象和面向过程的初步认识
  • 二、什么是类

一、面向对象和面向过程的初步认识

我们之前学习了C语言,我们知道
① C语言:C语言是一门面向过程的语言,关注的是过程,分析出求解问题的步骤,通过函数调用来逐步解决问题。
② C++: C++是一门面向对象的语言,关注的是对象,将一件事情拆分为不同的对象,靠对象之间的交互完成。
我们在此可以举一个例子,洗衣服的过程。
在这里插入图片描述

面向过程:洗衣服的过程便是:拿个盆子,放水,放衣服,手搓,换水,放洗衣粉,手搓,拧干,晾衣服。
面向对象:如果洗衣服的过程是面向对象的,那么在这个过程中,总共有4个对象,人,衣服,洗衣粉,洗衣机,而整个洗衣服的过程可以分为四步:
①、我们将衣服放进洗衣机
②、倒入洗衣粉
③、启动洗衣机
④、洗衣完成并且甩干

二、什么是类

在C语言中,结构体只能够定义变量,而在C++中,结构体不仅可以定义变量,还可以定义函数。在此我们定义一个最简单的类

struct Date
{int year;int month;int day;
};

在C++中,我们通过定义一个类(class)来定义自己的数据结构。一个类定义了一个类型,以及与其相关联的一组操作。类机制是C++最重要的特性之一。实际上,C++最初的一个设计焦点就是能定义使用上内置类型一样自然的类类型。
下面我们简单的定义一个日期类,如下:

class Date
{
public:Date(int year, int month, int day){_year = year;_month = month;_day = day;}
private:int _year;int _month;int _day;
};

我们可以看出C++中类的定义为

class classname
{//类体:由成员函数和成员变量组成
};
其中claas为类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省
略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量; 类中的函数称为类的方法或者成员函数。

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

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

相关文章

Anakki个人网站持续更新中

Anakki-World github: GitHub - Anyuei/anakki 欢迎注册,成为我的盆友

Android Bitmap保存成至手机图片文件,Kotlin

Android Bitmap保存成至手机图片文件,Kotlin fun saveBitmap(name: String?, bm: Bitmap) {val savePath Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString()if (!Files.exists(Paths.get(savePath))) {Log.d("保存文…

用通俗的方式讲解Transformer:从Word2Vec、Seq2Seq逐步理解到GPT、BERT

直到今天早上,刷到CSDN一篇讲BERT的文章,号称一文读懂,我读下来之后,假定我是初学者,读不懂。 关于BERT的笔记,其实一两年前就想写了,迟迟没动笔的原因是国内外已经有很多不错的资料&#xff0…

Appium自动化如果出现报错怎么办?这么做确实解决问题

解决通过appium的inspector功能无法启动app的原因 在打开appium-desktop程序,点击inspector功能,填写app的配置信息,启动服务提示如下: 报错信息: An unknown server-side error occurred while processing the com…

【ShardingSphere专题】SpringBoot整合ShardingSphere(一、数据分片入门及实验)

目录 前言阅读对象笔记正文一、ShardingSphere介绍1.1 ShardingSphere-JDBC:代码级别1.2 ShardingSphere-Proxy:应用级别1.3 横向对比图 二、ShardingSphere之——数据分片2.1 基本介绍2.2 分片的形式2.2.1 垂直分片2.2.2 水平分片 2.3 数据分片核心概念…

数据库应用:MongoDB 库与集合管理

目录 一、理论 1.MongoDB用户管理 2.MogoDB库管理 3.MogoDB集合管理 二、实验 1.MongoDB用户管理 2.MogoDB库管理 3.MogoDB集合管理 三、问题 1.不显示新创建的数据库 2.插入数据报错 3.删除指定数据库报错 一、理论 1.MongoDB用户管理 (1) 内置角色 数据库用户…

每日一题(LeetCode)----哈希表--快乐数

每日一题(LeetCode)----哈希表–快乐数 1.题目(202. 快乐数) 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为…

nodejs接收前端分片并组合成完整文件

前端将文件分成多个块,并将每个块上传到服务器。 服务器使用Node.js创建一个HTTP服务器或Express服务器。 在服务器端,我们可以使用Multer或Busboy模块来处理上传的文件块。 在文件上传完成之后,我们可以使用fs模块的createWriteStream()方…

11.28 知识回顾(Web框架、路由控制、视图层)

一、 web 框架 1.1 web框架是什么? 别人帮咱们写了一些基础代码------》我们只需要在固定的位置写固定的代码--》就能实现一个web应用 Web框架(Web framework)是一种开发框架,用来支持动态网站、网络应用和网络服务的开发。这大多…

2020年6月9日 Go生态洞察:VS Code Go扩展加入Go项目

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

unity学习笔记10

一、生命周期函数 1.Awake() 调用时间:对象被激活或创建时。 用途:通常用于初始化对象的状态,获取组件引用或执行其他在脚本生命周期早期需要完成的任务。 2.OnEnable(): 调用时间:对象激活时,包括对象被创建和Se…

力扣150. 逆波兰表达式求值

栈 思路&#xff1a; 使用栈存放运算数&#xff1b;遍历 tokens&#xff0c;当遇到运算符时&#xff0c;2 次出栈得到运算数进行相应的运算&#xff0c;将运算结果入栈&#xff1b;最终的结果在栈顶上&#xff1b; class Solution { public:int evalRPN(vector<string>…

Python数据预处理详解

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 数据预处理是数据科学中至关重要的步骤&#xff0c;它包括清洗、转换、归一化等操作&#xff0c;以使数据适合于机器学习模型的使用。Python提供了多种强大的库和工具&#xff0c;能够帮助进行数据预处理。本文将…

springmvc无法访问静态资源

解决方案 在spring-mvc.xml加入下面这些即可 <mvc:default-servlet-handler></mvc:default-servlet-handler> 配置原理 它的意思是 先安装springmvc的前端控制器来寻找路径&#xff0c;如果找不到就交由tomcat服务器寻找&#xff0c; 大伙都学过jsp&#xff0…

idea 2023使用技巧(一)

IntelliJ IDEA在业界被公认为最好的java开发工具之一。它能给你良好的开发体验。 idea版本号为2023.2.5。 1 基础操作 1.1索引 idea首次加载项目时&#xff0c;都会创建索引&#xff0c;创建索引的时间跟项目的文件多少成正比。idea的缓存和索引主要是用来加快文件查询&…

重装电脑后要做的操作

一. typora typora偏好设置 图片 : 与**同一级目录的assess文件

JVM 参数介绍

在一些规模稍大的应用中&#xff0c;Java虚拟机&#xff08;JVM&#xff09;的内存设置尤为重要&#xff0c;想在项目中取得好的效率&#xff0c;GC&#xff08;垃圾回收&#xff09;的设置是第一步。 PermGen space&#xff1a;全称是Permanent Generation space.就是说是永久…

LINQ-123之数据源前进一点点

之前提到满足一定条件的数据都可以成为LINQ的数据源&#xff0c;那么条件是什么&#xff1f; 实现接口 IEnumerable<T> 或IQueryable<T>&#xff0c;满足其一就可以使用LINQ。 使用LINQ对数据源可以做以下几类事&#xff1a; 1、获取数据源的一部分 2、获取数据…

计算机丢失vcomp140.dll是什么意思,如何解决与修复(附教程)

vcomp140.dll缺失的5种解决方法以及vcomp140.dll缺失原因 引言&#xff1a; 在日常使用电脑的过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是“vcomp140.dll缺失”。这个错误提示通常出现在运行某些程序或游戏时&#xff0c;给使用者带来了困扰。本文…

【Python3】【力扣题】367. 有效的完全平方数

【力扣题】题目描述&#xff1a; 【Python3】代码&#xff1a; 1、解题思路&#xff1a;Python函数。num的平方根 或者 num的0.5次幂。 知识点&#xff1a;float.is_integer(...)&#xff1a;判断浮点数的值是否等于整数。也可以&#xff1a;浮点数.is_integer()。 pow(a,b)&…