程序员教程-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 ...
随机推荐
- Selenium2+python自动化40-cookie相关操作
前言 虽然cookie相关操作在平常ui自动化中用得少,偶尔也会用到,比如登录有图形验证码,可以通过绕过验证码方式,添加cookie方法登录. 登录后换账号登录时候,也可作为后置条件去删除cookie ...
- Ushare共享流媒体
一. 支持USB 参考: http://wenku.baidu.com/link?url=K_uAp4QEa2cX3nPMkbc-colCAHA1yBwo1JCYsZf-qR7AVFPkmpbBVYR ...
- 微信小程序开发(request请求后台获取不到data)
1微信的request的post请求后台获取不到data(当初这个问题纠结了好久好久),原因是post传递的data是json格式而不是key,value的格式,所以获取不到相应的data就是post ...
- spring SOA architecture
在谈这个之前,还得再说下SOA和平台.SOA做两件事情,一个是解耦并识别可重用的服务,一个是对服务进行灵活组装和编排满足业务需求,SOA核心是业务和技术的解耦,服务和能力的复用.而在IT领域的平台平台 ...
- 设置多个ip ,实现ip欺骗
网关和DNS填写: 使用IP欺骗功能必须得本地有多个可用IP,通常普通的PC机只有一个物理网卡,这就需要我们手工设置多IP绑定同一网卡: a.开始菜单 -> 控制面板 -> ...
- java实验四——测试梯形类
package hello; public class TestTixing { public static void main(String[] args) { // TODO Auto-gener ...
- 杂项-TOOL:NPIO
ylbtech-杂项-TOOL:NPIO NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作.NPOI是一个开源的Ja ...
- [转]Java. SqlServer 使用
public void add(Emp emp) throws Exception { String connectionUrl = "jdbc:sqlserver://localhost: ...
- 廖雪峰Java1-1Java入门-java简介
Java特点: 一种面向对象的跨平台变成语言 以字节码方式运行在虚拟机上 自带功能齐全的类库 非常活跃的开源社区支持 Java优点: 简单.健壮.安全 跨平台,一次编写,到处运行 高度优化的虚拟机 J ...
- 1108 Finding Average (20 分)
1108 Finding Average (20 分) The basic task is simple: given N real numbers, you are supposed to calc ...