C++
YiZhe0731
新手,菜鸟,弱鸡。
展开
-
多态
我们在类的应用中会遇到这样的问题,当我们在子类中定义了与父类中原型相同的函数(上篇中提到的重定义)时,我们如果需要通过基类的指针来获取子类函数的调用就很难实现,为了解决这样的问题,C++就引入了虚函数的概念,C++中就是通过virtual 关键字对多态进行支持。1、重写:编译器判断是否为虚函数,根据传的类型不同去调用不同的函数。虚函数:通过关键字 virtual 修饰的函数。 此时,子原创 2017-09-23 18:55:05 · 427 阅读 · 0 评论 -
函数模板与类模板
1、函数模板:所谓函数模板,就是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表,凡是函数体相同的函数都可以用这个模板来代替。函数模板的出现将算法与数据类型相分离,专注于算法的设计。 1)函数模板的定义是通过关键字 tamplate 来实现的。如:tamplate // 注意末尾没有分号void test(T a){}2)调用方式: test(a, b原创 2017-09-25 09:53:21 · 282 阅读 · 0 评论 -
异常和文件操作
引子:类型转换1)普通类型之间的转换:static_cast 凡是可以隐式转换的地方都可以用,在编译时进行类型识别 a = ststic_cast(d);2)指针之间的转换:reinterpret_cast 可用来在指针和整型之间转换 p = reinterpret_cast(pd);3)层次间转换:dynamic_cast 在运行时进行类型识别,基类和派生类之间转换;类型匹配原创 2017-09-28 09:41:06 · 372 阅读 · 0 评论 -
C到C++的过渡
为了强化我们的C语言编程能力,提高编程的代码质量,更是由于嵌入式软件工程师岗位的需求,我们即将开始C++语言的学习。当然,学习C++语言也为我们以后接触一些其他编程语言提供了良好的基础。我们一直说的C++与C的最大区别就在于,C++是面向对象的,即C语言+面向对象方法论就成了我们的C++。而什么是面向对象呢,通俗的说就是将现实世界中的事物直接映射到程序中,可直接满足用户需求。原创 2017-09-18 14:24:36 · 479 阅读 · 0 评论 -
类和对象
我们C++面向对象的三个重要内容就是:封装,继承和多态,今天我们就浅谈一下封装的概念。C++的封装,实现方式就是用 class 关键字来声明类。在类中,成员变量叫做属性,成员函数叫做方法。1、类的访问控制:public :共有属性,类的内部外部都可访问private:私有属性,类的外部禁止访问protect:保护属性,用于继承中,类内部专属原创 2017-09-20 14:18:38 · 237 阅读 · 0 评论 -
STL语句
STL从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),容器和算法通过迭代器可以进行无缝地连接。几乎所有的代码都采 用了模板类和模板函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。STL的一个重要特点是数据结构和算法的分离。1、容器:用来管理一组数据,下面介绍几种常用的容器1)string:string原创 2017-10-08 21:16:51 · 2881 阅读 · 0 评论 -
运算符重载
运算符重载: operator关键字用来重载运算符1、概念1)本质是一个函数,函数名的组成方式是:operator + 要重载的运算符 运算符的重载函数可以写到类的内部,但内外只能有一个(尽量写内部,内外的实现方式由于传参方式不同实现代码不同在一些复杂的运算时会有不同)2)有部分运算符不能重载 . :: .* ?: sizeof3)重载步骤:首先写出函原创 2017-09-20 15:51:21 · 218 阅读 · 0 评论 -
继承与派生
首先,我们来认识一下类与类之间的关系有哪几种:1、has_A 组合 包含关系,类中包含另一个类的对象2、use_A 使用关系,类中使用了另一个类的成员函数3、is_A 继承关系,B是特殊的A,B从A继承过来,A中有的B中都有继承的语法: class 类名 :访问控制权限 要继承的类的名字 class C_XY:public XY {}; // C_XY是继承自XY的子原创 2017-09-22 09:18:08 · 272 阅读 · 0 评论 -
STL(下篇)
上篇我们简单的介绍了下STL概念,接下来,将对几个容器详细展开:1、set :上篇我们讲到set的默认排序方式是从大到小的,在添加自定义类型时,由于编译器不知道怎么排序,我们需要重载()运算符来比较大小。class MySort{public: // 重载()运算符,用来比较 student 的大小 bool operator()(const Student &s1, const St原创 2017-10-09 19:21:13 · 210 阅读 · 0 评论