程序员教程-10章-C++程序设计
本来这章是不打算写了的,毕竟自己学的是JAVA,C++就不想看了,但毕竟还有一点时间,就把C++也看一下吧
目录结构
10.1 C++程序基础
10.1.1 数据类型
1 基本数据类型
2 常量和变量
3 复合数据类型
4 引用和指针
10.1.2 运算符、表达式和语句
10.1.3 基本输入/输出
10.1.4 函数
1 函数定义和声明
2 函数调用
3 内联函数
4 函数的重载
10.1.5 类与对象
1 类
2 对象
3 静态成员
4 this指针
5 友元
10.2 继承与多态
1 继承
2 多态
10.3 异常处理
10.4 标准库
10.4.1 I/O流库
10.4.2 string
1 声明string对象
2 string对象的操作
10.4.3 STL
1 算法
2 容器
3 迭代器
10.4.4 vector
1 初始化vector对象
2 vector对象的运算
C++语言是对C语言的扩展和超集,因此同时支持过程式和面向对象的程序设计泛型
10.1 C++程序基础
C++程序基础包括数据类型(基本内置类型、复合类型)、输入输出处理、语句、函数以及类等
10.1.1 数据类型
1 基本数据类型:继承C,扩展了布尔类型(bool)和宽字符类型(wchar_t)、UNICODE字符类型char16_t和char32_t
2 常量和变量
1)字面值常量
2)左值和右值:左值的实质是内存位置,右值的实质是数值,右值可以出现在赋值号的右边,但不能出现在赋值号的左边
3)定义常量:可以用宏定义和const定义常量
3 复合数据类型:C++的枚举、结构体、共同体和数组都是复合数据类型
4 引用和指针:引用为对象提供了另一个名字(别名),通过将声明符写成“&d"的形式来定义引用类型,其中"d"是声明的变量名
引用与指针不同:(1)不存在空引用;(2)一旦引用被初始化为一个对象,就不能再引用另一个对象;(3)引用必须在创建时被初始化
10.1.2 运算符、表达式和语句
C++继承了C语言的算术运算符,关系运算符,逻辑运算符,位运算符,赋值运算符和其他运算符,扩充了::,new,delete运算符,还支持对运算符的重载机制
10.1.3 基本输入/输出
C++使用称为iostream的I/O流库,还有iomanip,用于格式化
1)输出:cout<<d;
2)输入:cin>>d;
3)格式控制:精度和宽度
10.1.4 函数:库函数和自定义函数
1 函数的定义和声明:略
2 函数调用:略
3 内联函数:对于内联函数,编译器是将其函数体放在调用该内联函数的地方,不存在普通函数调用时栈记录的创建和释放开销
4 函数的重载:只要参数表中参数个数或类型不同,就视为不同的函数
10.1.5 类与对象
对象是人们要进行研究的任何事物,从最简单的整数到复杂的机器都可看作对象。具有相同或相似性质的对象的抽象就是类
1 类:有两种类型的成员:数据成员,成员函数
类成员有如下3种不同的访问权限:公有,私有,保护
2 对象:对象是类的实例
1)对象的创建:类的变量称为对象
2)对象的操作:.或->
3)构造函数:默认构造函数,构造函数的重载
4)析构函数:~
3 静态成员:static,静态数据成员,静态成员函数 ::
4 this指针:指向类的对象
5 友元:在C++的一个类定义中,可以指定某个全局函数、某个其他类或某个其他类的成员函数来直接访问该类的私有和保护成员,它们分别称为友元函数,友元类和友元类函数
10.2 继承和多态
1 继承:实现代码复用
2 多态:一个接口,多个方法:方法的重置或实现;纯虚函数
10.3 异常处理
异常是程序可能检测到的运行时刻不正常的情况。
try、catch、finally和throw是异常处理的关键字,它们配合起来工作
10.4 标准库
分为标准函数库和类库两部分。标准函数库包含了所有的C标准库,类库定义了一些常见操作的类,如I/O类,string类,数值类和STL的容器类、算法、函数对象、迭代器、分配器,以及异常处理类
10.4.1 I/O流库:iostream
10.4.2 string:C++的字符串标准库类型是重新定义的类string,使用string时不必再担心空间大小与字符串长短等问题
1 声明string对象:包含头文件<string>,string str
10.4.3 STL:(Standard Template Library)标准模板库:是一系列软件代码的统称,其代码从广义上分为三类:算法,容器和迭代器
STL被组织成下面的13个头文件:<algorithm> <deque> <functional> <iterator> <vector> <list> <map> <memory> <numeric> <queue> <set> <stack> <utility>
1 算法:主要由头文件<algorithm> <numeric> <functional>说明
2 容器
3 迭代器:由头文件<utility> <iterator> <memory>说明
10.4.4 vector
简单来说,vector是一个能够存放任意类型数据的动态数组
1 初始化vector对象
程序员教程-10章-C++程序设计的更多相关文章
- 程序员教程-9章-C程序设计
目录结构: 9.1 C语言基础 9.1.1 数据类型 1 基本数据类型 2 数组.字符数组与字符串 3 枚举类型 4 结构体.共用体和typedef 9.1.2 运算符与表达式 9.1.3 输入/输出 ...
- 程序员教程-11章-Java程序设计
自己是学java的,先看第十一章java吧. 列出章节目录,便于自己回忆内容. 11.1 Java语言概述 1 Java语言的特点 2 Java开发环境 11.2 Java语言基础 11.2.1 基本 ...
- 能让你成为更优秀程序员的10个C语言资源
能让你成为更优秀程序员的10个C语言资源 本文由 伯乐在线 - archychu 翻译自 mycplus.欢迎加入 技术翻译小组.转载请参见文章末尾处的要求. 一些人觉得编程无聊,一些人觉得它很好玩. ...
- 【译】x86程序员手册10 - 第4章系统架构
1.1.2 Part II -- Systems Programming 系统编程 This part presents those aspects of the architecture that ...
- 成为优秀 Node.js 程序员的10个习惯
JavaScript出现近二十年了,但由于其有些问题不能解决,使得像Python和Ruby这一类的语言很吸引人,这些问题包括命令行接口.交互式开发环境.包的管理和没有一个有组织开源社区等.幸亏Node ...
- Python程序员的10个常见错误(转)
add by zhj:虽然学Python也有两年了,但这些问题的确容易犯,看来对Python的理解还有些地方不深入.先转了,有时间再好好看 译文:http://blog.jobbole.com/682 ...
- Python程序员的10个常见错误
关于Python Python是一门解释性的,面向对象的,并具有动态语义的高级编程语言.它高级的内置数据结构,结合其动态类型和动态绑定的特性,使得它在快速应用程序开发(Rapid Applicatio ...
- [转]成为优秀Java程序员的10大技巧
转自:http://www.codeceo.com/article/10-good-java-programmer-tips.html Java程序员有许多应遵循的守则或最佳实践方式.本文概述了每个开 ...
- 【译】x86程序员手册37-第10章 初始化
Chapter 10 Initialization 第10章 初始化 After a signal on the RESET pin, certain registers of the 80386 a ...
随机推荐
- python之 列表常用方法
更多列表的使用方法和API,请参考Python文档:http://docs.python.org/2/library/functions.html append:用于在列表末尾追加新对象: # app ...
- Microsoft Dynamics CRM 如何修改域密码
一.安装IIS6脚本工具,如下图所示: 二.复制iisadmpwd文件夹到AD Server的C:\Windows\SysWOW64\inetsrv文件夹下 三.注册Iisadmpwd目录下的IISp ...
- 大数据hadoop与spark的区别
学习hadoop已经有很长一段时间了,好像是二三月份的时候朋友给了一个国产Hadoop发行版下载地址,因为还是在学习阶段就下载了一个三节点的学习版玩一下.在研究.学习hadoop的朋友可以去找一下看看 ...
- 【FusionCharts学习-1】获取资源
网址 官网: http://www.fusioncharts.com/charts/ 入门学习:http://www.fusioncharts.com/dev/usage-guide/getting ...
- paramiko不能通过cd改变路径分析
原文: 意思就是 每次执行execute_command()会重新创建一个新的会话,而新会话的当前路径为缺省目录. (这和linux中每次终端登录类似) 解决方法: .execute_command( ...
- Bootstrap:百科
ylbtech-Bootstrap:百科 Bootstrap (Web框架) Bootstrap,来自 Twitter,是目前很受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.Java ...
- 制作jQuery文字提示插件
(functions($){ $.fn.colorTip=function(settings){ var defaultSettings={ color:'yellow', timeout:500 } ...
- 1048 Find Coins (25 分)
1048 Find Coins (25 分) Eva loves to collect coins from all over the universe, including some other p ...
- [UE4]换枪需要做的事,容器:数组、集合、Map
换枪: 1.需要同时保存多把枪 2.换下去的枪需要隐藏,而不是销毁 3.换枪应该有动作 4.不同的枪应该有不同的行为 蓝图中常见的容器 1.数组 特点: 1.元素连续存放 2.通过索引访问 3.索引从 ...
- [UE4]Character,飞行模式。
Character 是pawn的子类,可以行走.跳跃.游泳.飞行的Pawn.