摘要: 第27课 - 动态类型识别 问题:下面的程序有问题吗? class Parent { public: virtual -Parent() { } }; class Child : public Parent { }; void test(Parent* p) { Child* c = (Child* 阅读全文
posted @ 2019-08-11 19:33 free-锻炼身体 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 第26课 - 异常处理 - 下 1. 问题一 有时在工程中关心是否产生了异常,而不关心具体的异常类型,C++语言中可以做到吗? C++中的catch语句可以使用...捕获所有的异常。 #include <cstdlib> #include <iostream> using namespace std 阅读全文
posted @ 2019-08-11 19:32 free-锻炼身体 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 第25课 - 异常处理 - 上 1. 典型问题一 所有的代码都有可能不按照预定的方式进行 double Div(double a, double b) { return a / b;} double Add(double a, double b) { return a + b;} double Mi 阅读全文
posted @ 2019-08-11 19:31 free-锻炼身体 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 第24课 - 专题四经典问题解析 1. 历史的痕迹 #include <cstdlib> #include <iostream> using namespace std; template<class T> //以前是用typename定义,现在是用class定义 T Minus(T a, T b) 阅读全文
posted @ 2019-08-11 19:30 free-锻炼身体 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 第23课 - STL简介 1. 标准模板SLT C++的作用就是提高程序书写的效率,那么就得代码复用。 STL,即:Standard Template(样板) Library,是C++的一部分(常用的数据结构)。STL是常用数据结构和算法的集合。STL的目标是标准化组件,提高开发效率和程序可靠性。 阅读全文
posted @ 2019-08-11 19:29 free-锻炼身体 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 第22课 - 类模板 - 下 1. 类模板的局部特化 类模板可以定义多个类型参数 #include <cstdlib> #include <iostream> using namespace std; template<typename T1, typename T2> class Test { p 阅读全文
posted @ 2019-08-11 19:28 free-锻炼身体 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 第21课 - 类模板 - 上 思考:类是C++的核心,那是否能够将模板的思想应用于类呢? 1. 类模板 一些类主要用于存储和组织数据元素。如:数组类,链表类,Stack类,Queue类等等。 C++中可以将模板的思想应用于类,使得类可以不关注具体所操作的数据类型,而是只关注所需要实现的功能。 C++ 阅读全文
posted @ 2019-08-11 19:20 free-锻炼身体 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 第20课 - 函数模板 1. C++中如何交换两个变量的值? void Swap(int& a, int& b) { int t = a; a = b; b = t; } void Swap(float& a, float& b) { float t = a; a = b; b = t; } voi 阅读全文
posted @ 2019-08-11 19:19 free-锻炼身体 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 第19课 - 专题三经典问题解析 1. 当多态遇见对象数组会发生什么? #include <cstdlib> #include <iostream> using namespace std; class Parent { protected: int i; public: virtual void 阅读全文
posted @ 2019-08-11 19:18 free-锻炼身体 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 第18课 - 继承与多态 - 下 问: 重载和重写有什么区别?什么时候是重载,什么时候是重写? 1. 重载与重写 下面程序的继承方式有问题吗,为什么? #include <cstdlib> #include <iostream> using namespace std; class Parent { 阅读全文
posted @ 2019-08-11 19:17 free-锻炼身体 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 第17课 - 继承与多态 - 上 引入: 如果子类定义了与父类中原型相同的函数会发生什么? 1. 函数重写 在子类中定义与父类中原型相同的函数,函数重写只发生在父类与子类之间。 父类中被重写的函数依然会继承给子类,默认情况下子类中重写的函数将隐藏父类中的函数,通过作用域分辨符::可以访问到父类中被隐 阅读全文
posted @ 2019-08-11 19:16 free-锻炼身体 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 第16课 - 继承中的构造与析构 1. 赋值兼容性原则 (1) 子类对象可以当作父类对象使用。 (2) 子类对象可以直接赋值给父类对象。 (3) 子类对象可以直接初始化父类对象。 (4) 父类指针可以直接指向子类对象。 (5) 父类引用可以直接引用子类对象。 子类就是特殊的父类 #include < 阅读全文
posted @ 2019-08-11 19:15 free-锻炼身体 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 第15课 - 惊艳的继承 1. 继承的概念 面向对象中的继承指类之间的父子关系,子类拥有父类的所有成员变量和成员函数。子类就是一种特殊的父类,子类对象可以当作父类对象使用,子类可以拥有父类没有的方法和属性。 如下面的程序: #include <cstdlib> #include <iostream> 阅读全文
posted @ 2019-08-11 19:14 free-锻炼身体 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 第14课 - 专题二经典问题解析 1. malloc与free和new与delete有什么区别? malloc和free是函数,new和delete是关键字。 #include <cstdlib> #include <iostream> using namespace std; class Test 阅读全文
posted @ 2019-08-11 19:13 free-锻炼身体 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 第13课 - 操作符重载 - 下 思考: 通过operator关键字能够将操作符定义为全局函数,操作符重载的本质就是函数重载。类的成员函数是否可以作为操作符重载的函数? 1. operator+的成员函数实现 #include <cstdlib> #include <iostream> using 阅读全文
posted @ 2019-08-11 19:12 free-锻炼身体 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 第12课 - 操作符重载 - 上 1. 使用C++标准库 C++标准库并不是C++语言的一部分。C++标准库是由C++语言编写而成的类库和函数的集合。C++标准库中定义的类和对象都位于std命名空间中。C++标准库的头文件都不带.h后缀。C++标准库涵盖了C库的功能。C库中<name.h>头文件对应 阅读全文
posted @ 2019-08-11 19:11 free-锻炼身体 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 第11课 - 类的静态成员 1. 成员变量的回顾 通过对象名能够访问public成员变量。 每个对象都可以有只属于自己的成员变量。 成员变量不能在对象之间共享。 2. 新的需求 统计类在程序运行期间有多少个对象同时存在;保证程序的安全性,并随时可以获取对象的数目。 3. 类的静态成员 在C++中可以 阅读全文
posted @ 2019-08-11 19:10 free-锻炼身体 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 第10课 - 构造与析构 - 下 1. C++中的对象组合 C++中提供了初始化列表对成员变量进行初始化 语法规则: Constructor::Contructor() : m1(v1), m2(v1,v2), m3(v3) { // some other assignment operation 阅读全文
posted @ 2019-08-11 19:09 free-锻炼身体 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 第9课 - 构造与析构 - 上 1. 对象的初始化 生活中存在的对象都是被初始化后才上市的,初始状态是对象普遍存在的一个状态的。一般而言所有的对象都需要一个确定的初始状态。 解决方案: 为每个类都提供一个public的initialize函数;对象创建后立即调用initialize函数进行初始化。 阅读全文
posted @ 2019-08-11 19:08 free-锻炼身体 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 第8课 - 类中的封装 1. 类的组成 类的实现细节; 类的使用方式。 当使用类时,不需要关心其实现细节;当创建一个类时,才需要考虑其内部实现细节。 例: 使用手机时,只需要知道如何发短信,打电话,拍照等等即可,不需要关心手机是如何开发出来的。 手机开发工程师就需要考虑手机内部的实现细节,如硬件细节 阅读全文
posted @ 2019-08-11 19:07 free-锻炼身体 阅读(273) 评论(0) 推荐(0) 编辑