C++学习笔记——C++简介
1.C++发展史
C++语言来源于C语言,在C语言的基础上增加了面向对象设计的要素从而得到了发展。
1979 年,C++ 是由 Bjarne Stroustrup在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C++。
20世纪90年代,C++稳步发展。
1988年,ISO/ANSI C++标准正式指定。
2.C++的特点
C++语言可以算是目前应用广泛的面向对象的重新设计语言,所以也具备了面向对象程序设计语言的特点。
C++的特点如下:
封装性
封装是把函数和数据隐藏,封装是面向对象的重要特性。
实现了数据隐藏,保护对象的数据不被外界随意改变。 使得对象成了相对独立的功能模块。 C++中是通过建立类这种数据类型来支持数据的封装性。使用对象的时候,只需要知道它向外界提供的接口,而无需知道的数据结构细节和实现操作的算法。
继承性
在C++语言中,一个派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继承。
继承方式有公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。
多态性
多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。
C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。
3.C++的应用领域
C++涉及到的领域也是非常广阔,不管是大型项目或者是小型项目的应用程序,C++都可以开发。例如:操作系统、大部分游戏、图形图像处理,科学计算、嵌入式系统、驱动程序等。
在人工智能时代,图形图像识别或者处理、语音识别处理等等都是离不开C++的开发。
4.特殊简介
C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。
C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。
C++学习笔记——C++简介的更多相关文章
- Linux内核学习笔记-1.简介和入门
原创文章,转载请注明:Linux内核学习笔记-1.简介和入门 By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...
- React学习笔记 - JSX简介
React Learn Note 2 React学习笔记(二) 标签(空格分隔): React JavaScript 一.JSX简介 像const element = <h1>Hello ...
- CUBRID学习笔记 1 简介 cubrid教程
CUBRID 是一个全面开源,且完全免费的关系数据库管理系统.CUBRID为高效执行Web应用进行了高度优化,特别是需要处理大数据量和高并发请求的复杂商务服务.通过提供独特的最优化特性,CUBRID可 ...
- shiro学习笔记_0100_shiro简介
前言:第一次知道shiro是2016年夏天,做项目时候我要写springmvc的拦截器,申哥看到后,说这个不安全,就给我捣鼓了shiro,我就看了下,从此认识了shiro.此笔记是根据网上的视频教程记 ...
- Mybatis-Plus 实战完整学习笔记(一)------简介
第一章 简介 1. 什么是MybatisPlus MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只 ...
- ElasticSearch学习笔记-01 简介、安装、配置与核心概念
一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...
- python学习笔记1--python简介和第一行代码编写
一.什么是python? python是一种面向对象,解释型语言,它语法简介,容易学习.本节博客就来说说本人学习python的心得体会. 二.python环境安装 目前python版本有python2 ...
- symfony学习笔记1—简介
1.symfony快速入门还是先看代码结构把,这个是拿到代码的第一印象,app/:整个应用的配置,模版,translations,这个可能是多语言文件什么,src/:项目php文件,vendor/:第 ...
- REVIT个人学习笔记——1.简介及熟悉界面
此贴并非教学,主要是自学笔记,所述内容只是些许个人学习心得的记录和备查积累,难以保证观点正确,也不一定能坚持完成. 如不幸到访,可能耽误您的时间,也难及时回复,贴主先此致歉.如偶有所得,相逢有缘,幸甚 ...
- GO 基础学习笔记(1) | 简介
一.官网查看系列 Golang官网:https://golang.org/ Golang中文网:https://studygolang.com/(推荐) 项目学习网站: https://gowalke ...
随机推荐
- C# 委托进阶
本文参考自:https://wenku.baidu.com/view/41ab91d3c1c708a1284a44d7.html?qq-pf-to=pcqq.c2c 1.为什么委托定义的返回值通常为v ...
- 时间格式为yyyymmdd的String类型的时间,计算时间间隔有错误
时间格式类型为yyyymmdd,并且为String类型,计算时间间隔有误,一直搞不清楚是什么原因.网上百度了许多,时间格式基本都是yyyy-mm-dd这样的时间格式的,但是yyyymmdd这样的时间格 ...
- Cocos文档案例游戏设计的梳理与分析
导语:这是一篇新手教程,适用于已看完Cocos官方文档,但还对游戏设计.运行流程不熟悉的新人.这篇教程是对文档[快速上手]里那款名叫"摘星星"的坑爹小游戏(文档原话)流程的梳理,以 ...
- java String 提供的方法
String类的判断功能: * boolean equals(Object obj):比较字符串的内容是否相同,区分大小写 * boolean equalsIgnoreCase(String str) ...
- PTA (Advanced Level) 1016 Phone Bills
Phone Bills A long-distance telephone company charges its customers by the following rules: Making a ...
- 得到DataGrid列的值
<mx:DataGridColumn headerText="状态" dataField="D30120_ZH" width="80" ...
- MYSQL5.7 sql_mode=only_full_group_by
错误提示: .... which is not functionally dependent on columns in GROUP BY clause; this is incompatible w ...
- Orchard源码:EventBus&EventHandler
概述 看源码是一件吃力又很爽的事情,昨天还被搞的一头雾水,今天忽然守得云开见月明.明白它设计意图的同时,感觉自己又提升了一步:) Orchard刚开始看往往毫无头绪,建议可以从Orchard.Fram ...
- 非常不错的js 屏蔽类加验证类
1 >屏蔽功能类 1.1 屏蔽键盘所有键 <script language="javascript"><!--function document.onkey ...
- yum卸载
完全卸载依赖 -- 正常安装 yum install sl -- 列出操作 yum history list sl -- 根据显示install操作的id进行删除 yum history undo { ...