1. 传递数组的3种方式
1)void func(int a[]);
2)void func(int a[5]);
3)void func(int *a);
例:输出:
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
2.字符数组的输入:
1)cin:以空格为字符串尾,不处理越界
2)gets:以换行为字符串尾,不处理越界
3)cin.get(数组名,长度,终止输入的限定符):长度 = 字符个数 + 1
3.重载[]的优点:
1)不用将数组长度定义为常量
2)可避免越界
4.基类的虚函数不进行实例化,就是抽象类。抽象类又叫ADT,它不能用来创建具体的对象
有纯虚函数的类都是抽象类
从抽象类派生出的新类必须为每个纯虚函数赋予功能,否则仍只是一个抽象类
不能定义一个抽象类的对象,只能定义一个指向抽象类的指针
指向抽象类的指针可以动态地指向其子类的对象,从而实现程序的多态
5.virtual float length() = 0;
像这个在虚函数后面加个“=0”,就是纯虚函数
纯虚函数彻底无任何功能,也不能直接调用,只能被子类继承并赋予新功能后才能使用
6.多态分为两种:
1)编译时的多态:通过函数重载实现
2)运行时的多态,通过虚函数实现