美文网首页
Boolan - C++学习笔记 二 - 第一周

Boolan - C++学习笔记 二 - 第一周

作者: amberfjx | 来源:发表于2017-05-11 20:02 被阅读0次

    C++程序设计(2)

    第一周笔记

    目录

    泛型编程

    面向对象

    面向对象继承的内存模型

    标准库:更多地使用模板编程,较少的用类的继承特性。

    1 -转换函数

    语法:Operator double ()const{return 1.0;}

    从本身转为别的类型

    下图所示:黄色部分为转换函数:成员函数将Fraction转换为double类型

    Non – explicit one argument ctor:这种构造函数可以将别的东西A转换为类对象CX。

    即通过将A实体构造成CX类的对象。

    两种class:

    1 point-like-class

    1、智能指针:需要实现*->运算符重载。

    C++:->具有特殊作用,Z->b()中的->符号作用在Z上之后,继续用->作用下去。

    2、迭代器,用来遍历容器,除了实现*->外,还需要实现++ -- ==!=等操作符重载。

    2 fuction-like-class

    在类内部具有对()运算符的重载

    3 Namespace:

    作用:把一些东西包装起来,用以区分不同人开发出的代码,使得彼此不影响。

    4类模板

    模板不同于重载,是一种半成品,在编译的时候替换T为具体的类型。

    语法:

    使用:

    5函数模板

    使用比类模板更简单。

    注意:<要能编译通过的前提条件是T类型的变量可以用<操作符来操作。因此如果T类型为自己设计的类,需要重载运算符<.

    6成员模板

    多见于标准库模板类的构造函数。智能指针模拟up-cast;

    7 specializtion特化

    特化是由一般到特殊的生物进化方式。在模板中指的是更具体的设计,将T用具体的类型再重新设计一次。是指由T到T的子集的过程。

    Eg:将T用int替换得到新的具体的函数或类A或模板

    注意:这里A可能是具体的函数或类,也有可能是范围更小的模板类或函数。

    8偏特化(个数上的偏特化,和范围上的偏特化(下图))

    9模板模板参数(template

    template param)

    10数量不等的模板参数

    相关文章

      网友评论

          本文标题:Boolan - C++学习笔记 二 - 第一周

          本文链接:https://www.haomeiwen.com/subject/mghatxtx.html