分类: C/C++
2014-06-20 07:59:26
template
// out.cpp:(定义代码文件——包含out函数的声明[通过include]和定义等全部信息)
#include
#include “out.h”
export template
//user.cpp:(用户代码文件——包含函数的声明头文件后就可以使用该函数)
#include “out.h”
// 使用out()
1. 多次从一个基类继承:
1. 常规继承:基类各自保存存储;调用基类函数时,需要显式声明基类;覆盖函数时需要对每个基类
2. 虚继承:基类只保存一个存储;调用基类函数时,不需要显式声明基类;覆盖函数时只需要覆盖一次即可
2. 虚基类:不需要每个虚函数都覆盖,和C#中不同
3. 继承访问控制:private, protected, public
1. private——public, protected方法变为private;只有子类的成员函数或友元可以把(子类*)转换为(基类*)
2. protected——public, protected方法变为protected;只有子类或孙类的成员函数或友元可以把(子类*)转换为(基类*)
3. public——public, protected保持不变;任何函数可以把(子类*)转换为(基类*)
4. dynamic_cast——也需要遵守上面的转换限制