个人不熟知识点
派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型
int m=20; while (m=0) m=m++;中 while (m=0),m赋值为0,while(0)结束。故一次都未执行。
重载函数在调用时选择的依据参数的类型 函数的名字,参数的个数和类型有关,与参数的名字无关。
纯虚函数是一种特殊的虚函数,它没有具体的实现;
含有纯虚函数的类叫做抽象类。这种类不能声明对象,只是作为基类为派生类服务。
virtual <类型><函数名>(<参数表>)=0;
抽象类是指具有纯虚函数的类;
一个基类中有纯虚函数,该基类的派生类也可能是抽象类;
抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出;
一个类中若包含另一个类的对象,这个对象称为子对象或成员对象。叫类的组合。
在面向对象分析和设计中,通常把对象所进行的操作称为方法或服务
在面向对象程序设计方法中,对象是系统中用来描述客观事物的一个实体,它由数据和可执行的一组操作共同组成。
多态:
1.运行时多态:取子类地址赋给父类指针,此指针再指向子类成员(同名虚函数) virtual void Speak() {cout<<“How does a pet speak ?”<<endl; }
2.编译时多态:函数重载(只与参数有关,参数的类型和数量。与返回值无关)
函数重载和运算符重载都属于重载多态。
基类指针指向派生类对象,在调用派生类函数,此为运行时多态。
函数指针:
还有PtaA卷
友元函数
New与delete
不想扔,所以就把它留在这里了