纯virtual函数
1、为了方便使用
多态特性,我们常常需要在基类中定义虚函数。
2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合常理。
为了解决上述问题,引入了纯虚函数的概念,将函数定义为纯虚函数(方法:virtual ReturnType Function()= 0;)。若要使派生类为非抽象类,则编译器要求在派生类中,必须对纯虚函数予以重写以实现多态性。同时含有纯虚函数的类称为抽象类,它不能生成对象。这样就很好地解决了上述两个问题。
函数模板
template T max(const T& t1, const T& t2)
{
return (t1 > t2) ? t1 : t2;
}
指针和引用的区别
★相同点:
●都是地址的概念;
指针指向一块内存,它的内容是所指内存的地址;而引用则是某块内存的别名。
★不同点:
●指针是一个实体,而引用仅是个别名;
●引用只能在定义时被初始化一次,之后不可变;指针可变;引用“从一而终”,指针可以“见异思迁”;
●引用没有const,指针有const,const的指针不可变;
●引用不能为空,指针可以为空;
●“sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身的大小;
●指针和引用的自增(++)运算意义不一样;
●引用是类型安全的,而指针不是 ,引用比指针多了类型检查
new和malloc有啥区别
C++的虚函数是怎么实现的
C++的虚函数有什么作用
static有什么用途
stl编程,stl线程安全性,以及tcp网络
inline和宏的区别
全局变量和局部变量在内存中有什么区别
什么函数不能声明为虚函数
写出float x 与“零值”比较的if语句
C++如何检测内存泄漏