摘要: 一,标准输入流 1.基本功能(头文件为iostream) char ch = cin.get();// 一次读取一个字符,如果遇到EOF则结束。 cin.getline(buf,length);// 一次读取一行数据,包含空格,默认的cin>>是不包含空格的。 2.代码演示 二,标准输出流 1.基本 阅读全文
posted @ 2017-01-16 13:08 MetalSteel 阅读(837) 评论(0) 推荐(0) 编辑
摘要: 小时候经常看着父亲独自饮酒,下酒菜也不过是一只咸蛋,母亲在一旁唠叨:“一个人有什么好喝的。”父亲一脸满足的喝下一杯,他环顾我们几人,小声说:“你们不懂得。”现在,我慢慢体会到父亲的心情,一天辛劳后,回到家中,昏黄的灯光,温暖的屋子,人到中年,这是他一手创造的小世界,他坐在桌子前,喝一杯酒,就变成自己 阅读全文
posted @ 2017-01-15 18:24 MetalSteel 阅读(787) 评论(0) 推荐(0) 编辑
摘要: 一,异常的推演 1.函数与异常 平时我们在函数中出现异常情况时通常通过return终止函数并返回一个值,然后在函数上层来获取值并判断是什么异常情况。因为函数是栈结构的,所以return的时候是通过栈结构逐步往上的,不能够跨函数直接抛出,不方便。所以C++推出了异常机制,通过异常机制我们可以轻松的捕获 阅读全文
posted @ 2017-01-15 14:23 MetalSteel 阅读(6352) 评论(3) 推荐(1) 编辑
摘要: 一,函数模板 1.函数模板的概念 C++中提供了函数模板,所谓函数模板,实际上是建立一个通用函数,其函数的返回值类型和函数的参数类型不具体指定,用一个虚拟的类型来表示。这个通用函数就被称为函数的模板。 当我们在开发中,经常会遇到一些函数体实现方式类似的函数,例如交换两个字符,交换两个数字函数,这两个 阅读全文
posted @ 2017-01-14 17:19 MetalSteel 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 一,抽象类 1.纯虚函数的概念 纯虚函数是在父类中定义了一个只有声明而没有实现的函数,即使给出了纯虚函数的实现,那么编译器也会忽略。 2.纯虚函数的说明形式 virtual 返回值类型 函数名称(参数列表) = 0; 3.纯虚函数的意义 纯虚函数只存在了函数的声明,而不存在函数的实现,在继承中为子类 阅读全文
posted @ 2017-01-14 00:23 MetalSteel 阅读(2899) 评论(0) 推荐(0) 编辑
摘要: 一,多态的理论推导 1.类型兼容性原则 在上一节的C++中的继承中介绍了什么是类型兼容性原则。所谓的类型兼容性原则是指子类公有继承自父类时,包含了父类的所有属性和方法,因此父类所能完成的功能,使用子类也可以替代完成,子类是一种特殊的父类。所以可以使用子类对象初始化父类对象,可以用父类指针指向子类对象 阅读全文
posted @ 2017-01-13 22:54 MetalSteel 阅读(726) 评论(0) 推荐(0) 编辑
摘要: 目录: 继承的基本概念 继承中的访问控制方式 继承中的构造函数和析构函数 类型兼容性原则 多继承 一,继承的基本概念 1.类与类之间的关系 has-A,包含关系,用以描述一个类由多个“部件类”构成,实现has-A关系用类的成员属性表示,即一个类的成员属性是另一个已经定义好的类。 use-A,一个类使 阅读全文
posted @ 2017-01-12 23:58 MetalSteel 阅读(15577) 评论(0) 推荐(0) 编辑
摘要: 一,操作符重载案例之字符串 1.前言 上一篇博文介绍了操作符重载的基本用法和常见操作符的重载示例,这篇文章主要来介绍一下如何用操作符重载和面向对象的基本知识来自己实现字符串这个类。 2.字符串类的功能(String.h) 2.字符串的功能实现(String.cpp) 3.字符串测试案例(main.c 阅读全文
posted @ 2017-01-11 23:59 MetalSteel 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 一,运算符重载的基础知识 1.什么是运算符重载 所谓的重载,就是重新赋予新的含义。函数的重载是让一个已经存在的函数赋予一个新的含义,使之实现新的功能。因此,一个函数名就可以用来代表不同功能的函数。运算符的重载其实我们已经使用过了,例如常见的"+"加法操作就是C++默认重载的,我们可以用加法对整数,单 阅读全文
posted @ 2017-01-11 23:05 MetalSteel 阅读(663) 评论(0) 推荐(0) 编辑
摘要: 一,C/C++内存模型 1.内存模型分类 栈区:由编译器自动分配和释放,用来存放函数的参数,局部变量。存放在栈中的数据只在当前函数及下一层函数中有效,函数一旦结束,这些数据就被释放了。 堆区:由程序员分配和释放,如果程序员没有释放则在程序结束时由OS释放,由于忘记释放通常会出现内存泄露问题。 全局( 阅读全文
posted @ 2017-01-10 23:13 MetalSteel 阅读(1480) 评论(0) 推荐(0) 编辑