纯虚函数

来源:互联网 发布:九州量子 网络揭牌 编辑:程序博客网 时间:2024/06/11 00:12
纯虚函数定义:
在成员函数的形参后面写上=0,包含纯虚函数的类是抽象类,抽象类不能实例化出对象,纯虚函数在派生类重新定义之后,派生类才能实例化出对象。
class Person
{
public:
virtual void Display() = 0;//纯虚函数
protected:
string _name;
};
class Student :public Person
{};
int main()
{
//Person p;
Student s;//抽象类,不能实例化出对象,所以这里是强制写出纯虚函数
return 0;
}
在派生类重新定义就可以了
class Student :public Person
{
virtual void Display()//重新定义
{}
};
------------------------------------
基类Person,子类Teacher,Student都继承它,
class Person
{
public:
virtual void Display() = 0;//纯虚函数
protected:
string _name;
};
class Teacher :public Person
{
virtual void Display()//重新定义
{
cout << "Teacher" << endl;
}
};
class Student :public Person
{
virtual void Display()//重新定义
{
cout << "Student" << endl;
}
};
int main()
{
Person* p1 = new Teacher;
p1->Display();
        Person* p2 = new Student;
p2->Display();
system("pause");
return 0;
}
输出:
Teacher
Student