c++ 预备

server/2025/1/12 10:30:11/

目录

前言

一,知识点的补充

 二,c语言与c++

三,面向对象的三大特点


前言

将进入c++的学习,接下来是对于c++的预备和c++的一些预习


一,知识点的补充

1  标识符

标识符不能为关键字

标识符只能由下划线,数字,字母组成

标识符的第一个字符必须是字母和下划线

2  float需注意的

float a = 3.14f

这里后面的f的意义:

不加f则3.14为double类型,只不过因为a的类型为float类型,然后就所以就变成float类型,所以为了严谨一般都是在小数后面加上f

3  科学计数法

float  f2  =  3e2         f2 = 3 * 10^2

float  f3  =  3e-2       f3  = 3 * 10^(-2)

4 字符串类型

c语言风格   char  str[ ] =" hello wrold ";

c++风格      string  str = " hello wrold ";

 二,c语言与c++

1  初识c++

第一个hello  wrold程序

#include <iostream>
using namespace std;int main()
{cout << "hello wrold" << endl;
}

这里的cout函数是要引用iostream库,这个也很好记忆,我们再输入输出的时候,都是再I/O流这里进行操作,所以我我们只要救助I/O流就可以很好的记下来了

刨析程序

cout  是标准输出流

<<     是左移的意思,也就是把" hello wrold "左移到cout输出流中就可以正常输出了

endl   是换行的意思, 我们把这个endl左移到输出流里面,然后进行输出

using namespace std这个是一个命名空间,这个后面会讲,现在只需要记住这个一定要出现即可

2 面向过程和面向对象

面向过程

这个思想是基于c语言很核心的思想,

通过分析和解决问题,然后把这些步骤一步一步实现,使用的时候一个一个依次调用就好了

以黑白棋为例子

1 开始游戏  2 黑棋走  3 绘制画面  4 判断输赢  5 白棋走  6 绘制画面  7 判断输赢  8黑棋走  .....

面向对象

这个是基于c++和其他更多高级语言的核心思想

对象:世界上任何一个事物都可以抽象成一个对象(属性 + 行为)

以黑白棋为例子

1 棋子  2 界面  3 判断界面   ------   对象

相比较于面向过程,面向对象的优点:1  重用率低  2  易维护,修改起来方便

(一处出错只需要改那一处,而不是改全部) 

面向过程:蛋炒饭   面向对象:盖浇饭   (如果不要鸡蛋,盖浇饭还可以拨掉,蛋炒饭不可以)

三,面向对象的三大特点

1  封装

将属性 (成员) 和方法 (函数) 封装在一起抽象为一个类,并且对类加以控制

类与结构体

struct hero {};class {};

类和结构体的定义十分相似发,但是类是可以放函数的,但是结构体不可以 

把客观事物封装成一个抽象的类,并且类可以把自己的数据和方法只让信任的类和对象进行操作,对不可信的进行信息屏蔽(就是权限的设置)

类可以将成员变量和成员函数封装在类里面,这样就可以根据需要设置访问权限

2  继承

继承所表达的是类之间的相互关系,这种关系使得对象可以继承另外一类对象的能力

继承的作用:避免公用的代码的重复开发,减少代码的数据累赘,我在写自己的游戏的时候,没有学习这个,直接写,真的多代码,比如人物的技能,你在主世界,游戏所有关卡都要用到,这个时候你不用这个,就会代码非常多

3  多态

静态多态和动态多态

多态性可以简单地概括为一种接口,多种方法,“字面意思就是为两种形态或者多种形态”

如void*这个就是为无类型指针,可以传进来多种指针


http://www.ppmy.cn/server/157741.html

相关文章

ChatGPT如何赋能办公

课程背景&#xff1a; ChatGPT近来非常火爆&#xff0c;但多数课程偏重于理论&#xff0c;我们本次讲座将以亲身实践为例&#xff0c;分享如何快速赋能办公&#xff0c;并立刻提升生产力。 课程梗概&#xff1a; 本课程旨在探究ChatGPT在办公中的应用。通过案例分析、课堂讨…

SwiftUI 导航:通过 NavigationStack 和 NavigationDestination 实现路径管理

在 SwiftUI 开发中&#xff0c;实现灵活且功能丰富的导航系统是构建优秀用户界面的关键。本文将深入解析一段 SwiftUI 代码&#xff0c;展示如何利用 NavigationStack 和枚举来实现多界面导航&#xff0c;并在不同界面之间传递参数。 代码整体概述 这段代码构建了一个具有多个…

小程序相关

1.右侧胶囊宽度&#xff0c;胶囊和文本重合问题 // #ifdef MP-WEIXIN // 获取胶囊左边界坐标 const { left } uni.getMenuButtonBoundingClientRect() this.rightSafeArea left px // #endif//给到你的内容宽度 <view :style"{max-width:rightSafeArea}"> …

C/C++ 数据结构与算法【查找】 线性表查找、树表的查找、散列表的查找详细解析【日常学习,考研必备】带图+详细代码

一、查找的基本概念 1&#xff09;在哪里找&#xff1f; 2&#xff09;什么查找&#xff1f; 3&#xff09;查找成功与否&#xff1f; 4&#xff09;查找的目的是什么&#xff1f; 5&#xff09;查找表怎么分类&#xff1f; 6&#xff09;如何评价查找算法&#xff1f; 7&…

python3GUI--大屏可视化-传染病督导平台 By:PyQt5

文章目录 一&#xff0e;前言二&#xff0e;预览三&#xff0e;软件组成&开发心得1.样式&使用方法2.左侧表格实现3.设计4.学习5.体验效果 四&#xff0e;代码分享1.环形渐变进度组件2.自定义图片的背景组件 五&#xff0e;总结 大小&#xff1a;60.9 M&#xff0c;软件…

ip归属地和手机号是一个地址吗

IP归属地和手机号是两个常被提及但本质上截然不同的概念。它们各自代表着不同的信息&#xff0c;反映了不同的技术和应用场景。本文将从定义、原理、应用场景以及两者之间的关系等方面&#xff0c;详细探讨IP归属地和手机号是否是一个地址的问题。 一、IP归属地和手机号的定义 …

世优波塔数字人 AI 大屏再升级:让智能展厅讲解触手可及

近日&#xff0c;世优波塔大屏AI数字人再度升级&#xff0c;将数字人技术与大屏交互推向了新的高度&#xff0c;为用户带来了全方位的卓越体验&#xff0c;让人工智能不断重塑我们的生活与工作方式。 新形象&#xff1a;数字人的独特魅力 高精度的数字人形象一直是波塔智能体…

在idea中配置多个版本的jdk

问题&#xff1a;有时候有好几个项目&#xff0c;不同的项目用的是不同版本的jdk。 在oracle官网下载多个版本的jdk https://www.oracle.com/cn/java/technologies/downloads/选择exe版本安装 如果只在idea里使用的话&#xff0c;就不需要配置环境变量了。只需要在项目结构里a…