本来这章是不打算写了的,毕竟自己学的是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++程序设计的更多相关文章

  1. 程序员教程-9章-C程序设计

    目录结构: 9.1 C语言基础 9.1.1 数据类型 1 基本数据类型 2 数组.字符数组与字符串 3 枚举类型 4 结构体.共用体和typedef 9.1.2 运算符与表达式 9.1.3 输入/输出 ...

  2. 程序员教程-11章-Java程序设计

    自己是学java的,先看第十一章java吧. 列出章节目录,便于自己回忆内容. 11.1 Java语言概述 1 Java语言的特点 2 Java开发环境 11.2 Java语言基础 11.2.1 基本 ...

  3. 能让你成为更优秀程序员的10个C语言资源

    能让你成为更优秀程序员的10个C语言资源 本文由 伯乐在线 - archychu 翻译自 mycplus.欢迎加入 技术翻译小组.转载请参见文章末尾处的要求. 一些人觉得编程无聊,一些人觉得它很好玩. ...

  4. 【译】x86程序员手册10 - 第4章系统架构

    1.1.2 Part II -- Systems Programming 系统编程 This part presents those aspects of the architecture that ...

  5. 成为优秀 Node.js 程序员的10个习惯

    JavaScript出现近二十年了,但由于其有些问题不能解决,使得像Python和Ruby这一类的语言很吸引人,这些问题包括命令行接口.交互式开发环境.包的管理和没有一个有组织开源社区等.幸亏Node ...

  6. Python程序员的10个常见错误(转)

    add by zhj:虽然学Python也有两年了,但这些问题的确容易犯,看来对Python的理解还有些地方不深入.先转了,有时间再好好看 译文:http://blog.jobbole.com/682 ...

  7. Python程序员的10个常见错误

    关于Python Python是一门解释性的,面向对象的,并具有动态语义的高级编程语言.它高级的内置数据结构,结合其动态类型和动态绑定的特性,使得它在快速应用程序开发(Rapid Applicatio ...

  8. [转]成为优秀Java程序员的10大技巧

    转自:http://www.codeceo.com/article/10-good-java-programmer-tips.html Java程序员有许多应遵循的守则或最佳实践方式.本文概述了每个开 ...

  9. 【译】x86程序员手册37-第10章 初始化

    Chapter 10 Initialization 第10章 初始化 After a signal on the RESET pin, certain registers of the 80386 a ...

随机推荐

  1. 嵌入式Linux软件工程师面试题一

    题一,同步和异步有啥区别? 题二,TCP与UDP有啥区别? 题三,进程和线程有啥区别? 题一答案: 同步(Sync):所有的操作都做完,才返回给用户.这样用户在线等待的时间太长,给用户一种卡死了的感觉 ...

  2. RAC4——架构和变化

    1.RAC的架构 2.由单实例变RAC的变化   1.SGA的变化: 和传统的单实例相比,RAC 实例中SGA最显著的变化时多了一个GRD(Global resource directory)部分. ...

  3. NPOI控制Excel格式

    1.//sheet.SetColumnWidth(3, 50 * 256);  控制第三列宽,单位为1/256个字符 dataRow.Height = 18 * 20; 控制行高,单位为1/20点 s ...

  4. RK3288 mipi屏调试流程

    CPU:RK3288 系统:Android 5.1 1.修改kernel/arch/arm/configs/rockchip_defconfig,打开mipi屏开关 # CONFIG_LCD_GENE ...

  5. python初始环境安装

    Python下载地址 Python官网:https://www.python.org/ 在该网可以下载Python最新及历史版本.可以下载基于Windows或其它操作系统的版本. Python安装 本 ...

  6. 微信小程序的视频教程

    极客学院小程序视频教程: 链接:https://pan.baidu.com/s/1VpKnvnsn-T6Nd79bsi4ugg 密码:0ta9 小程序项目实战: 链接:https://pan.baid ...

  7. ubuntu 16.04 忘记root密码

    虚拟机中安装的ubuntu 16.04. 方法一 如果用户具有sudo权限,那么直接可以运行如下命令: sudo su root #输入当前用户的密码 passwd #输入密码 #再次输入密码 方法二 ...

  8. bzoj1033 杀蚂蚁

    假设游戏中的蚂蚁也是按这个规则选择路线: 1.每一秒钟开始的时候,蚂蚁都在平面中的某个整点上.如果蚂蚁没有扛着蛋糕,它会在该点留下2单位的信息素,否则它会留下5单位的信息素.然后蚂蚁会在正北.正南.正 ...

  9. bzoj2002 弹飞绵羊

    Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置 ...

  10. ubuntu卸载vsftpd出错

    卸载vsftpd出错 $ sudo apt remove vsftpd Reading package lists... Done Building dependency tree Reading s ...