【C++课程学习】:类和对象(上)(类的基础详细讲解)

🎁个人主页:我们的五年

🔍系列专栏:C++课程学习

🎉欢迎大家点赞👍评论📝收藏⭐文章

 

 

目录

🍟1.1类的引出:

🍟1.2类的结构:

🍟1.3类的两种定义方法:

🍟1.4成员变量命名的建议:


 前言:

C语言是一门面向过程的语言,而C++是一门面向对象的语言。

1.C语言:

关注的是过程,解决提出的问题要逐步调用函数来解决。

2.C++:

C++是面向对象,关注的是对象,其他的有相应的方法

🍟1.1类的引出:

类是在结构体上引出来的,在C语言中,结果体只可以里面只能有数据。而在C++中,结构体中可

以定义函数。而C++中就这把这变成的类(class),但是与结构体还是有区别的,比如:

1.结构体里面的数据全部是公开(public)的,因为C++要兼容C语言。定义了一个结构体,我们可以直接在main函数访问结构体里面的数据。

2.类如果什么都不写的情况下,数据都是私有的(private)。

3.C++中的结构体也不需要加struct。

#include<iostream>
using namespace std;
//结构体
struct Data1{
	int _year;
	int _month;
	int _day;
};
//类
class Data2{
public:
	int _year;
	int _month;
	int _day;
};

int main()
{
	Data2 a;
	a._year = a._month = a._day = 1;
	//Data1 a;
	//a._year = a._month = a._day = 1;
	cout << a._year<<endl;
}


🍟1.2类的结构:

class classname{

        //类体:

        //1.成员函数

        //2.成员变量

};        //和结构体一样,后面有;

class classname{

        //类体:

        //1.成员函数

        //2.成员变量

};        //和结构体一样,后面有;

这些东西大家看看就行:class类的关键字,classname类的名称,{}类的主体,还有后面的封号;;

大家需要看的就是:

类里面的内容分为两种:

1.类里面的数据叫成员变量,或者类的属性,但是我觉得,把它看成类的属性更能突出面向对象,

关注的对象。

2.类里面的函数叫成员函数,或者类的方法。还是一样的,我觉得,类的方法更能突出其面向对象的特点。

🍟1.3类的两种定义方法:

两种方法的主要区别也就是,是否类的方法都在类里面进行声明和定义。

1.类的方法都在类里面声明和定义:

这种情况下,编译器会把函数当成内联函数进行处理。

#include<iostream>
using namespace std;

class Data {
public:
	//声明和定义都在类里面
	void print() {
		cout << "print()" << endl;
	}
private:
	int _data;
};

int main()
{
	Data a;
	a.print();
}

2.类的方法的声明和定义分开,声明在类里面,定义不在类里面:
声明放在.h文件种,定义在.cpp文件中。

#include<iostream>
using namespace std;

class Data {
public:
	//声明
	void print();
private:
	int _data;
};

//定义:
void Data::print() {
	cout << "声明和定义分离" << endl;
}

int main()
{
	Data a;
	a.print();
}

🍟1.4成员变量命名的建议:

一般我们介意在类的变量名称中加入一些符号以区分。

一般的就是在名字前面加_,或者在名字后面加_。不同的公司有不同的命名方式。

比如:

#include<iostream>
using namespace std;

class Data {
public:
	//声明
	void print();
private:
	//在data前面加上_
	int _data;
};

//定义:
void Data::print() {
	cout << "声明和定义分离" << endl;
}

int main()
{
	Data a;
	a.print();
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

进入新公司有焦虑感怎么办?

前因 前两天技术交流群里有童鞋问了一个很有意思的问题&#xff0c;他问如何克服进入新公司的焦虑感&#xff1f;很多热心的童鞋都纷纷支招&#xff0c;比如 “主动干活”、“专注干活”、“让时间冲淡焦虑感”、……等等&#xff0c;这些都很有道理&#xff0c;不过&#xff…

最小栈、栈的弹出(C++)

1.最小栈 思路分析&#xff1a; 代码&#xff1a; class MinStack { public:MinStack() {}void push(int val) {st.push(val);//两种情况需要更新最小值//1.最小栈为空(就是存最小值的那个栈)//2.插入的值小于或等于最小栈的栈顶元素if(minstack.empty()||minstack.top()>…

高并发系统限流原理

短时间内巨大的访问流量&#xff0c;我们如何让系统在处理高并发的同时还能保证自身系统的稳定性&#xff1f;估计有人会说&#xff0c;增加机器就可以了&#xff0c;因为我的系统架构设计就是按照分布式思想进行架构设计的&#xff0c;所以可以只需要增加机器就可以解决问题了…

word自带公式编辑器技巧

1.实现多行公式换行且对齐 1.1 准备阶段&#xff08;默认Unicode模式&#xff09; 进入公式编辑模式&#xff0c;输入\eqarray&#xff0c;紧接着按下空格键输入空格&#xff0c;如下 1.2 实现换行和对齐 将要编辑的公式输入到括号内 &&#xff1a;实现位置对齐 &…

【微机原理与汇编语言】循环程序设计

一、实验目的 1.熟练掌握8086/8088常用汇编指令的使用方法 2.熟练掌握循环结构程序编程技巧 3.熟练掌握汇编语言程序运行调试方法 二、实验要求 认真分析实验题目&#xff0c;设计程序流程图&#xff0c;独立完成代码编写及运行调试。 三、实验题目 给出不大于255的十个…

中信证券:A股下半年将迎来年度级别上涨行情的起点

中信证券认为&#xff0c; 过去3年压制A股表现的经济动能转换&#xff0c;资本市场生态&#xff0c;中美战略博弈这三大叙事都将迎来重大拐点&#xff0c;随着政策、价格、外部三类信号逐步验证&#xff0c;2024年下半年A股市场将迎来年度级别上涨行情的起点 过去3年压制A股表…

uniapp小程序开发 | 从零实现一款影视类app (后台接口实现,go-zero微服务的使用)

uniapp小程序开发实战系列&#xff0c;完整介绍从零实现一款影视类小程序。包含小程序前端和后台接口的全部完整实现。系列连载中&#xff0c;喜欢的可以点击收藏。 该篇着重介绍获取轮播图后台接口和获取正在热映电影的两个后台接口的实现。 后台服务使用golang&#xff0c;…

vue3学习(七)

前言 接上一篇学习笔记&#xff0c;今天主要是分享上次学习完了&#xff0c;还没来得及记录&#xff0c;趁今天晚上换换脑子的时间记录下。 今天主要是记录的vuex文件的拆分&#xff0c;因为毕竟如果只在一个index.js文件写&#xff0c;文件会随着业务的复杂性上升&…

益智内容教培教育课程小程序的效果是什么

从孩子出生开始&#xff0c;很多家长们就可以开始制定学习计划&#xff0c;幼儿园前后时间段益智学习家长们很看重&#xff0c;各样的线上课程、线下读本及老师指导等。 市场中也有相关从业公司&#xff0c;在品牌拓展和内容触达转化方面发力&#xff0c;客商双方服务获取条件…

王道408数据结构CH4_串

概述 4 串 4.1 串的实现 4.1.1 存储结构 定长顺序存储 #define Maxsize 255typedef struct{char *ch[Maxsize];int length; }SString;堆分配存储 typedef struct{char *ch;int length; }HString;块链存储 4.1.2 基本操作 4.2 模式匹配&#xff08;子串定位&#xff09; 4.2.…

如何有效防御.360勒索病毒:.360勒索病毒加密文件预防方法探讨

导言&#xff1a; 随着信息技术的飞速发展&#xff0c;网络安全问题也日益凸显。其中&#xff0c;勒索病毒作为一种新型的网络安全威胁&#xff0c;给用户和企业带来了极大的困扰和损失。特别是.360勒索病毒&#xff0c;以其独特的加密方式和恶劣的勒索手段&#xff0c;引起了…

宝兰德参编!《2023年中国数据库年度行业分析报告》正式发布

近日&#xff0c;墨天轮发布 《2023年中国数据库年度行业分析报告》&#xff08;以下简称《报告》&#xff09;。宝兰德深度参与《报告》重要章节内容的编写工作&#xff0c;凭借在中间件领域深厚的技术沉淀和丰富的实践经验&#xff0c;输出了大量具有专业性和前瞻性的意见&am…

计算机组成原理一轮

目录 一、计算机系统概论 组成 概念 二、计算机的运算方法 二进制和八进制、二进制和八进制间的转换 任意进制数转换为十进制数 十进制转二进制 移码 定点数的移位运算 定点数的加减运算 定点数的乘除运算 相乘 相除 溢出的判别方法 采用一位符号位 采用双符号…

【微机原理与汇编语言】并行接口8255实验

一、实验目的 掌握可编程并行接口芯片8255的工作原理及初始化方法掌握8255在实际应用中的硬件连接及编程应用 二、实验要求 根据实验室现有条件&#xff0c;针对实验任务&#xff0c;设计实验方案并进行实现。 三、实验内容 启动0#计数器&#xff0c;每计5个数&#xff08…

elasticsearch安装与使用(1)-使用docker安装Elasticsearch

1、Elasticsearch安装 docker network create elastic docker pull docker.elastic.co/elasticsearch/elasticsearch:8.3.3 docker run --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -it docker.elastic.co/elasticsearch/elasticsearch:8.3.3-----------------…

大模型时代,是 Infra 的春天还是冬天?

Highlights 大模型时代元年感悟 Scaling Laws 是大模型时代的摩尔定律,是最值得研究的方向 LLM 发展的三个阶段: 算法瓶颈 -> 数据瓶颈 -> Infra 瓶颈 为什么 GPT 一枝独秀, BERT、T5 日落西山? 大模型时代,是大部分 Infra 人的冬天,少部分 Infra 人的春天(算法研…

PID控制算法介绍及使用举例

PID 控制算法是一种常用的反馈控制算法&#xff0c;用于控制系统的稳定性和精度。PID 分别代表比例&#xff08;Proportional&#xff09;、积分&#xff08;Integral&#xff09;和微分&#xff08;Derivative&#xff09;&#xff0c;通过组合这三个部分来调节控制输出&#…

【成都信息工程大学】只考程序设计!成都信息工程大学计算机考研考情分析!

成都信息工程大学&#xff08;Chengdu University of Information Technology&#xff09;&#xff0c;简称“成信大”&#xff0c;由中国气象局和四川省人民政府共建&#xff0c;入选中国首批“卓越工程师教育培养计划”、“2011计划”、“中西部高校基础能力建设工程”、四川…

eNSP学习——VRRP基础配置、多备份组、跟踪接口及认证

目录 主要命令 实验一、VRRP基础配置 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、部署OSPF网络 3、配置VRRP协议 4、验证VRRP主备切换 实验二、配置VRRP多备份组 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本…