好吧,第一次写东西...如何下手呢...(请无视) -------------------------------------------------------------- Chapter 1. Getting Started 1.1  Write a Simple C++ Program 函数组成:返回类型(type).函数名.参数列表.函数体 *函数体中的return返回类型要与函数的返回类型相匹配. *类型Type:包含了数据元素的内容和对其可能的操作. 源文件(Source file…
1. 每个C++都包含至少一个函数,其中一个必须为main函数,且 main 函数的返回类型必须为 int. 2. 函数定义包括:返回类型,函数名,形参列表,函数体 3. main 函数返回值用来指示状态,0表示成功,其他值含义由系统定义,通常用来表示错误类型. 4. 通过 echo 命令可以获得 main 函数返回值.UNIX: echo $?   Windows : echo %ERRORLEVEL%. -Wall和/W4是打开警告选项,能对有问题的程序结构发出警告 编译器 系统环境 编译…
摘要: 1. 面向对象程序设计的核心思想是数据抽象.继承和动态绑定.数据抽象将类的接口和实现分离:继承定义相似的类型并对齐相似关系建模:动态绑定,在一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象. 2. 派生类列表中每个基类前面可以有访问说明符:派生类必须在其内部对所有重新定义的虚函数进行声明:派生类可以在这样的函数前加上virtual关键字,但不是必须,因为在C++11中,允许派生类通过在函数形参列表之后增加overside关键字,以此来显式注明它将使用该成员函数改写基类的虚函数.…
这阵子真是太忙了, 连续做了四个课设. 当然这并不能作为好久没写博客的借口, 没写博客的主要原因只有一个: 懒. 最近又开始回顾C++的语法与特性(据说C++就是一门需要反复回顾的语言),以及学习C++的编程规范. 敲了C++Primer 5th 上的一道典型的练习题,纪念一下这即将过去的2016. 题目描述: 定义你自己版本的 StrBlobPtr, 更新 StrBlob类, 加入恰当的 friend 声明及begin 和 end 成员. 这道题目主要是练习 智能指针 share_ptr 和…
这几天看了C++ primer 5th的一二章,有很多收获,但是有的地方因为翻译的问题也搞得理解起来颇为难受啊啊啊啊.尤其是const限定符,在C语言并没有这么多复杂的语法,在C++里面语法细节就多的不行. 顺便做了两张思维导图 思维导图 细节补充 第一章 这一章没什么好说的,主要介绍了顺序选择循环三种基本语句,输入输出流的概念,注释,ADT(抽象数据类型)的概念初识和类的简单介绍. 由于有C语言的数据结构的基础,所以除了C++自带输入输出流似乎也没什么可说的. 1.iostream 标准输入输…
练习15.8:给出静态类型和动态类型的定义. 答: 静态类型:是变量声明时的类型,或者是表达式生成的类型,这样的类型在编译时已知. 动态类型:是变量或者表达式表示的内存中的对象的类型,直到运行时才可知. 练习15.9:在什么情况下表达式的静态类型可能与动态类型不同?请给出三个静态类型与动态类型不同的例子. 答:第一种:函数形参是基类的引用(静态类型),调用函数时,传递的实参为派生类的对象(动态类型). 第二种:函数形参是基类的指针(静态类型),调用函数时,传递的实参为派生类的指针(动态类型).…
*****代码在Ubuntu g++ 5.31 / clang++ 3.8(C++11)下编写调试***** 每个C++程序必须有一个main( )函数,main( )函数的返回值也必须是int类型,操作系统通过调用main( )函数来运行C++程序. 1.函数格式 函数:C++的函数是一个能够完成一个功能的模块或者说是一段命名了的代码块. 完整函数的组成: ①返回类型:不一定有返回值,故不一定有返回类型 ②函数名:根据名字标识完成特定功能的模块,必须存在 //lambda匿名函数除外 ③形参列…
#include <iostream> using namespace std; int main() { ][]={,,,,,,,,,,,}; /* for(int (&i)[4]:a) for(int (&j):i) cout<<j<<endl; */ /* for(int i=0;i<3;i++) for(int j=0;j<4;j++) cout<<a[i][j]<<endl; */ /* for(int (*…
模板是C++中泛型编程的基础,一个模板就是创建一个类或者函数的蓝图或者说公式. C++模板分为函数模板和类模板. 类模板则可以是整个类是个模板,类的某个成员函数是个模板,以及类本身和成员函数分别是不同的模板. 1.函数模板 函数模板以关键字template开始,后接尖括号括起来的模板参数列表,模板参数列表不允许是空的,也即模板参数至少有一个或多个,多个之间使用逗号分割. 模板参数表示的是函数中用到的类型或者是一个值.当我们使用模板时,根据提供的实参推断出实参的类型,该类型即被用于绑定到模板参数,…
面向对象程序设计的核心思想是:数据抽象.继承和动态绑定. 数据抽象:将类的接口与实现分离: 继承:定义相似类型并对相似关系建模: 动态绑定:一定程度上上忽略相似类型间的区别,用同一方式使用它们. 1.继承 通过继承联系在一起的类构成层次关系.层次关系的最底层或者说根部叫做基类,直接或者间接从基类继承而来得到的类叫做派生类. 基类负责定义该层次上共有的特性,派生类在基类的基础上根据自身需求进行扩展. 在面向对象程序设计的继承中,基类将需要进行扩展的函数与原封不动直接继承的函数进行区分对待.需要进行…