虚函数
虚函数 是在基类中使用关键字 virtual 声明的函数。在派生类中重新定义基类中定义的虚函数时,会告诉编译器不要静态链接到该函数。 我们想要的是在程序中任意点可以根据所调用的对象类型来选择调用的函数,这种操作被称为动态链接,或后期绑定。
#include <iostream>
#include <windows.h>
using namespace std;
class BOX{
public:
int a;
virtual void share(int x){
a=x;
cout << a<<endl;
}
};
class CYC:public BOX{
public:
void share(int x){
a=x+1;
cout<<a<<endl;
};
};
// 程序的主函数
int main()
{
SetConsoleOutputCP(65001);
BOX a;
CYC b;
a.share(1);
b.share(1);
BOX *p;
p=&b;
p->share(1);
return 0;
}
纯虚类又称之为抽象类
注意!!!抽象类不能被实例!!!!!!!!!!!!!!!!!!!,不能被BOX a;
#include <iostream>
#include <windows.h>
using namespace std;
//抽象类 当接口用
class BOX{
public:
int a;
virtual void share(int x) = 0;//
};
class CYC:public BOX{
public:
void share(int x){
a=x;
cout<<a;
}
};
// 程序的主函数
int main()
{
SetConsoleOutputCP(65001);
// BOX a; //抽象类不能被实例
CYC b;
BOX *p;
p=&b;
p->share(1);
return 0;
}