C++快速入门|系列(第一篇)
目录
C语言和C++的区别
C++的特点
OOP是什么?
HELLO,WORLD!输出
cout进行标准输出
cin进行标准输入
巩固——挑战习题
结尾
C语言和C++的区别
与C语言不同,C语言是面向过程的编程,C加加是面向对象的编程,区别在于:面向过程是着重于其中程序设计的算法、语言的运用,如设计不同功能的函数。面向对象,作为C语言的基础上发展起来的C++也就是更nb的C语言,保留了大部分C语言的功能,而在设计方面却着重于对象的处理,获得更好地性能。
有些佬可能就不喜欢看这些话,那咱们可以举一个小的经典栗子!——如何把大象装入冰箱“"”?
“面向过程”的方法就是咱们最熟悉的:
- 把冰箱门打开
- 把大象装进去
- 把冰箱门关上
在面向过程编程的过程中把一个大的目标转化为一个小的目标,每个动作都会去完成一个阶段目标
“面向对象”的方法而是:
- 冰箱,你给我把门打开。
- 大象,你给我爬到冰箱里去
- 冰箱,你给我把门关上。
在面向对象编程的过程中每一步都有一个对象,以及对象的动作,也可以实现完成这么样的目标,
面向对象来编程这样会对对象会有更好的处理。(与c加加相同的javascript也是面向对象编程,在我的上一篇博客中有实际的例子)
C++的特点
去应聘C/C++工程师多半入门级的考这个
- 封装性:封装就是把一组数据和这组数据有关的操作集合组装在一起,形成一个能动的实体也就叫对象。封装作为面向对象的重要特征,它实现了数据隐藏,保护了对象的数据不被外界改变,让对象成为相对独立的功能模块。外面不会让你看到!
在C数据结构这本书中也有着对C++的所谓对象的定义和C++面向对象编程的看法(建议佬们同步学习)
- 继承性
继承是指一个类具有另一类的属性和行为。这一个类具有另一个类的全部特征,又具有自身特征。C++中称为派生类,(或者也可以叫子类),而所继承的类称为基类(也称父类)。
什么是类?
“类(Class)是一种程序员定义的数据类型,用于描述从类创建的对象在构造时将是什么样子的。”,比如老师工作要备课讲课,批作业,答疑啥的是把,然后呢教师就可以叫一个类,而教师教学科目年级什么的就是这个类的成员变量。
栗子:一个是数学老师JOJO,一个是语文老师DIO,他们都是继承了老师,老师共同的工作都是教书系吧,可是由于他们自身学科的不同而实现方式而不同。(教师是基类,语文数学老师就是派生类)
- 多态性
多态是指不同对象调用相同名称的函数,可导致完全不同的行为。
对学校来讲,由教室构成,教室是教书的地方对吧,就相当于一个函数,实现教书这样的功能,但是每个不同科目老师,怎么讲是不是不同,那么产生的行为是不是不同,这就是多态。
在我们设计软件的时候,就可以从大的方向进行设计,而不必拘泥于细枝末节,因为具体怎么样的操作由对象自己负责!
估计有些佬都忘了,C++的特点是什么?
封装继承多态,建议和1433223一样熟练!
OOP是什么?
OPP(Object-Oriented Programing)面向对象程序设计
思想来自于第一个面向对象语言(Simula),对象的产生一种基于原型,一种是基于类。
- 基于原型:通过一个具有代表性的对象产生各种新对象,并由此产生更加符合的对象。
比如:女娲造人,刚造出来的一个男孩和女孩就是代表性对象,后来发现这两太完美了,不太实际,然后就扔出一大堆泥点造了现在的人们,能理解了吗(夏当|亚娃)?
- 基于类:一个类提供一个或多个对象的通用性描述。类和类型有关,故一个类相当于从该类产生实例的集合。
HELLO,WORLD!输出
#include<iostream>
using namespace std;
int main()
{
cout<<"Hello,World")<<end1;
return 0;
}
这个iostream是标准输入输出流的意思(英文翻译就是)C++在iostream中设置了常用的I/O环境和输入和输出流对象cin和cout等。iostream把C++库的组建放到一个名为std的命名空间namespace中,使用iostream就得添加命名空间,就是第二句话、
cout是系统定义的输出流对象,它是通过using namespace std进行定义的。<<是插入运算符,与cout一起使用,它的作用就是将<<右面的字符串插入到输出流中,C++系统将输出流内容输出到标准输出设备也就是咱们的屏幕上(一般为显示器)endl作用是换行。
cout进行标准输出
#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
int main()
{cout << "helloworld" << endl;int a = 10;cout << "a=" << a << endl;int b = 100;cout << b << endl;cout << a + b << endl;cout << "long long的字节大小:" << sizeof(long long) << endl;char str1[] = "helloworld";cout << str1 << endl;system("pause");
}
cin进行标准输入
{
int a,b;
cin>>a>>b;
}
也就是cout就是输出用的(<<)
cin就是输入用的(>>)
这样是不是好理解多了!其实也不过如此!(狗头)
巩固——挑战习题
定义3个整形变量,通过调用自定义函数实现求这3个数的最大值算数并返回该最大值!
先想想思路!
想想思路!
想思路!
思路!
路!
(答案):
#incldue<stdio.h>
using namespace std;
int Max(int a1,int a2,int a3)
{
int max1=a1;
if(a2>max)
max=a2;
if(a3>max)
max=a3;
return max;
}
int main(void)
{
int a,b,c;
cout<<"请输入3个整数:"<<endl;
cin>>a>>b>>c;
cout<<"3个数的最大值为"<<Max(a,b,c)<<endl;
return 0;
}
结尾
大家要是对c加加不敢兴趣,明天就更新数据结构链表部分,如果大家喜欢,点赞互关谢谢大家,我会去更新下一篇C++标识符和数据类型,希望大家一起越来越好!
C++快速入门|系列(第一篇)相关推荐
- Java小白入门系列 第一篇 写在前面
2018年8月30日 22:00:17 郑州 多云 Sue Java小白入门系列 第一篇 写在前面 写在前面: 首先声明一下,本人也是正在学Java,并不是多么专业人士,只是最近受老师的启发,所 ...
- validated 验证数组_Spring Boot 快速入门系列(VIII)—— 数据校验篇之 @Valid @Validated...
点击上方蓝色字体关注我吧 一起学习,一起进步,做积极的人! 场景描述: 你还在业务代码或是控制层中校验接口传入参数的有效性和合法性吗?还是只做了前端参数校验,后端接口直接放行?这样的话,程序运行的正确 ...
- xgboost 正则项_XGBoost入门系列第一讲
Boosted Trees 介绍 XGBoost 是 "Extreme Gradient Boosting"的简称,其中"Gradient Boosting"来 ...
- WPF快速入门系列(6)——WPF资源和样式
WPF快速入门系列(6)--WPF资源和样式 一.引言 WPF资源系统可以用来保存一些公有对象和样式,从而实现重用这些对象和样式的作用.而WPF样式是重用元素的格式的重要手段,可以理解样式就如CSS一 ...
- 【Python零基础快速入门系列 | 03】AI数据容器底层核心之Python列表
• 这是机器未来的第7篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/124957520 <Python零基础快速入门 ...
- groovy if 判断字符串_Groovy快速入门看这篇就够了
原标题:Groovy快速入门看这篇就够了 来自:刘望舒(微信号:liuwangshuAndroid) 前言 在前面我们学习了和两篇文章,对Gradle也有了大概的了解,这篇文章我们接着来学习Groov ...
- 【Python数据科学快速入门系列 | 06】Matplotlib数据可视化基础入门(一)
这是机器未来的第52篇文章 原文首发地址:https://robotsfutures.blog.csdn.net/article/details/126899226 <Python数据科学快速入 ...
- 【安全利器SELinux快速入门系列 | 01】SELinux基础入门
这是机器未来的第35篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/125914553 文章目录 1. 研究目标 2. se ...
- Webpack系列-第一篇基础杂记
系列文章 Webpack系列-第一篇基础杂记 Webpack系列-第二篇插件机制杂记 Webpack系列-第三篇流程杂记 前言 公司的前端项目基本都是用Webpack来做工程化的,而Webpack虽然 ...
- 微信公众号开发入门教程第一篇
微信公众号开发入门教程第一篇 关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/ ...
最新文章
- session文件无法并发操作
- 青出于蓝而胜于蓝,这是一款脱胎于 Jupyter Notebook 的新型编程环境
- 灰流丽能无效融合么_紫砂壶里的柴烧、捂灰、还原烧你能分清楚吗?一次性给你讲清楚...
- python计算n的32次方_获得用户输入的一个整数N,计算并输出N的32次方。_学小易找答案...
- 网站打开速度多少毫秒为正常_诠网科技|网站优化中跳出率多少才是合理的?...
- woocommerce 分类到菜单_Woocommerce商店显示分类
- Android开发之Is Library篇
- 【今日CV 视觉论文速览】Part2 1 Feb 2019
- 不安装oracle使用exp命令
- 常见计算机基础笔试题总结quickstart
- 给职场人士的四点良心建议
- Python标准库11 多进程探索 (multiprocessing包)
- (十二)JAVA springboot微服务b2b2c电子商务系统:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪...
- python建模地图
- 程序员大神常用软件:mybase,一款个人知识笔记管理神器
- ubuntu安装vscode出现问题的
- 基于python提火车票信息_python3.X 抓取火车票信息【修正版】
- 《使命召唤》官方秘籍
- R语言实战学习--回归
- androidstudio配置夜深模拟器