C++
你看到我的小熊了么
我想在这里记录我的学习C++的心路历程,希望自己能成为一个大牛!!
展开
-
Day08C++(上)类型转换
C++类型转换类型转换(cast)是将一种数据类型转换成另一种数据类型转换是非常有用的,但是它也会带来一些问题,比如在转换指针时,我们很可能将其转换成一个比它更大的类型,但这可能会破坏其他的数据。C++风格的强制转换其他的好处是,它们能更清晰的表明它们要干什么。程序员只要扫一眼这样的代码,就能立即知道一个强制转换的目的。1 静态转换(static_cast)1> 用于类原创 2016-09-22 23:11:22 · 249 阅读 · 0 评论 -
C++ Day04静态成员,友元,面向对象模型
&&静态成员在类定义中,它的成员(包括成员变量和成员函数),这些成员可以用关键字static声明为静态的,称为静态成员。不管这个类创建了多少个对象,静态成员只有一个拷贝,这个拷贝被所有属于这个类的对象共享。1 静态成员变量静态变量,是在编译阶段就分配空间,对象还没有创建时,就已经分配空间。 *静态成员变量必须在类中声明,在类外定义。 静态数据成员不属于某个对象,原创 2016-10-01 21:23:30 · 518 阅读 · 0 评论 -
STL Day02容器介绍
stack容器stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口,形式如图所示。stack容器允许新增元素,移除元素,取得栈顶元素,但是除了最顶端外,没有任何其他方法可以存取stack的其他元素。换言之,stack不允许有遍历行为。有元素推入栈的操作称为:push,将元素推出stack的操作称为pop.Stack所有元素的进出都必须符原创 2016-09-27 23:41:26 · 320 阅读 · 0 评论 -
STL Day03常用算法
1.1 函数对象重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象,也叫仿函数(functor),其实就是重载“()”操作符,使得类对象可以像函数那样调用。注意:1.函数对象(仿函数)是一个类,不是一个函数。2.函数对象(仿函数)重载了”() ”操作符使得它可以像函数一样调用。分类:假定某个类有一个重载的operator(原创 2016-09-27 22:15:29 · 391 阅读 · 0 评论 -
Day07 C++模板
1.函数模板的概念 c++提供了函数模板(function template.)所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体制定,用一个虚拟的类型来代表。这个通用函数就成为函数模板。c++提供两种模板机制:函数模板和类模板类属 - 类型参数化,又称参数模板总结:模板把函数或类要处理的数据类型参数化,表现为参数的多态性,成为类属。模板用于表达逻辑结构原创 2016-09-21 22:20:43 · 300 阅读 · 0 评论 -
STL Day01
1.1 STL基本概念StandardTemplate Library,标准模板库从广义上分为: 容器(container) 算法(algorithm) 迭代器(iterator),容器和算法之间通过迭代器进行无缝连接。STL 几乎所有的代码都采用了模板类或者模板函数,这相比传统的由函数和类组成的库来说提供了更好的代码重用机会。STL(Standard Template Library原创 2016-09-25 00:06:20 · 410 阅读 · 0 评论 -
Day05C++运算符重载
运算符重载基本概念(这是我学的最蛋疼的一天,就学了一个operator关键字) 运算符重载(operator overloading)只是一种”语法上的方便”,也就是它只是另一种函数调用的方式。在c++中,可以定义一个处理类的新运算符。这种定义很像一个普通的函数定义,只是函数的名字由关键字operator及其紧跟的运算符组成。差别仅此而已。它像任何其他函数一样也是一个函原创 2016-09-23 22:06:03 · 322 阅读 · 0 评论 -
Day06(下)C++多态
多态是面向对象程序设计语言中数据抽象和继承之外的第三个基本特征。多态性改善了代码的可读性和组织性,同时也使创建的程序具有可扩展性,项目不仅在最初创建时期可以扩展,而且当项目在需要有新的功能时也能扩展。c++支持编译时多态(静态多态)和运行时多态(动态多态),运算符重载和函数重载就是编译时多态,而派生类和虚函数实现运行时多态。静态多态和动态多态的区别就是函数地址是早绑定(静态联编)还原创 2016-09-23 17:24:22 · 289 阅读 · 0 评论 -
Day06(上)C++继承和派生
c++最重要的特征是代码重用,通过继承机制可以利用已有的数据类型来定义新的数据类型,新的类不仅拥有旧类的成员,还拥有新定义的成员。派生类中的成员,包含两大部分:1> 一类是从基类继承过来的,一类是自己增加的成员。2> 从基类继承过过来的表现其共性,而新增的成员体现了其个性。派生类定义格式: Class 派生类名 : 继承方式基类名{原创 2016-09-23 13:22:32 · 294 阅读 · 0 评论 -
Day08C++(下)输入输出流
C++输入输出包含以下三个方面的内容: 对系统指定的标准设备的输入和输出。即从键盘输入数据,输出到显示器屏幕。这种输入输出称为标准的输入输出,简称标准I/O。 以外存磁盘文件为对象进行输入和输出,即从磁盘文件输入数据,数据输出到磁盘文件。以外存文件为对象的输入输出称为文件的输入输出,简称文件I/O。 对内存中指定的空间进行输入和输出。通常指定一个字符数组作为存储空间(原创 2016-09-23 00:39:15 · 324 阅读 · 0 评论 -
Day08C++(中)异常
1 异常基本概念基本思想是:让一个函数在发现了自己无法处理的错误时抛出(throw)一个异常,然后它的(直接或者间接)调用者能够处理这个问题。一句话:异常处理就是处理程序中的错误。所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在,空指针,内存不足等等)。在C语言的世界中,对错误的处理总是围绕着两种方法:一是使原创 2016-09-22 23:34:10 · 352 阅读 · 0 评论 -
C++Day03 类和对象
封装1. 把变量(属性)和函数(操作)合成一个整体,封装在一个类中2. 对变量和函数进行访问控制 访问权限1. 在类的内部(作用域范围内),没有访问权限之分,所有成员可以相互访问2. 在类的外部(作用域范围外),访问权限才有意义:public,private,protected3. 在类的外部,只有public修饰的成员才能被访问,在没有涉及继承与派生时,pr原创 2016-10-08 14:37:13 · 403 阅读 · 0 评论