c++ 预备

目录

前言

一,知识点的补充

二,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程序

cpp 复制代码
#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 封装

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

类与结构体

cpp 复制代码
struct hero {

};

class {

};

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

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

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

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

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


3 多态

静态多态和动态多态

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

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

相关推荐
晓晓hh20 分钟前
JavaSE学习——迭代器
java·开发语言·学习
Laurence20 分钟前
C++ 引入第三方库(一):直接引入源文件
开发语言·c++·第三方库·添加·添加库·添加包·源文件
kyriewen111 小时前
你点的“刷新”是假刷新?前端路由的瞒天过海术
开发语言·前端·javascript·ecmascript·html5
014-code1 小时前
String.intern() 到底干了什么
java·开发语言·面试
421!1 小时前
GPIO工作原理以及核心
开发语言·单片机·嵌入式硬件·学习
蒸汽求职1 小时前
机器人软件工程(Robotics SDE):特斯拉Optimus落地引发的嵌入式C++与感知算法人才抢夺战
大数据·c++·算法·职场和发展·机器人·求职招聘·ai-native
charlee441 小时前
最小二乘问题详解17:SFM仿真数据生成
c++·计算机视觉·sfm·数字摄影测量·无人机航测
摇滚侠2 小时前
JAVA 项目教程《苍穹外卖-12》,微信小程序项目,前后端分离,从开发到部署
java·开发语言·vue.js·node.js
Tanecious.2 小时前
蓝桥杯备赛:Day4-P9749 公路
c++·蓝桥杯
@insist1232 小时前
网络工程师-生成树协议(STP/RSTP/MSTP)核心原理与应用
服务器·开发语言·网络工程师·软考·软件水平考试