摘要:
模板是一种参数化多态性工具 一.函数模板 函数模板是对一组函数的描述,不是一个实实在在的函数,编译时不产生任何可执行代码。 当编译系统在程序中,发现有与函数模板中相匹配的函数调用时,便生成一个重载函数。 二.重载 三.类模型 1. 模板可拥有多个类参数 2.实例化 类模板是调用函数时实参的类型来确定 阅读全文
摘要:
一.输入输出 二.赋值 三.下标操作符 四.函数调用操作符 五.自增/自减 五.转型操作符 声明中不能包含形参和返回类型,但函数体中必须包含return语句,用来返回转型结果。 六.内存管理 new, new[], delete, delete[] void *类::operator new(siz 阅读全文
摘要:
一.不能被重载的操作符 ?: C++中无定义一个三目运算符的语法 . 安全性 * 安全性 :: 该操作符左边是一个类型名,不是一个表达式 二.<返回值类型> operator <运算符> (<形式参数表>) 1.重载一个一元操作符,其函数不需要任何参数 2.操作符重载,不改变优先级和结合性 3.重载 阅读全文
摘要:
一.动态绑定和静态绑定 (多态和重载) 静态绑定:编译器将所有事s()调用绑定到s()的代码处 动态绑定:直到程序运行时,才将函数名绑定到其入口,每个类都有虚函数表,所有虚函数的地址 二.虚函数(构造函数不行,静态函数不行) 在非构造函数,非析构函数中调用虚函数,是多态 在构造,析构函数中调用虚函数 阅读全文
摘要:
一.子类不继承父类构造函数,析构函数,默认私有继承或protected 二.using声明可在子类把父类成员改为私有 三.派生类成员与父类成员名字相同,会发生名字隐藏 四.派生类可对从基类继承来的保护成员进行访问,也就是说保护成员在派生类中是可见的 派生类不能访问一个基类对象的保护乘员,因为基类对象 阅读全文
摘要:
一.类成员函数的定义方法 1.在类声明中声明,类声明外定义 2.在类声明中声明和定义 二.类声明通常放到.h文件中,不要将成员函数的定义放到.h中 三.一般来说应该采用引用的方式进行对象的传递和返回,而不要采用传值。传递一个指向对象的指针和引用方式效果相同,但引用语法简练。 四.const用法 co 阅读全文