不使用纯虚函数 出现链接错误 内有源代码

来源:百度知道 编辑:UC知道 时间:2024/06/14 20:37:51
#include <iostream>
#include <string>
using namespace std;

class Person
{
public:
Person( string na ):name(na){}
Person():name(""){}
virtual bool isExceptional() = 0 ;
virtual void showInfo() = 0;
protected:
string name;
};

class Student : public Person
{
public:
Student( string na , int ave ):Person( na ),average(ave){}
virtual bool isExceptional();
virtual void showInfo();
private:
int average;
};

class Teacher : public Person
{
public:

Teacher( string na , int num = 0 ):Person( na ),numOfThesis( num ){}
virtual bool isExceptional();
virtual void showInfo();
private:
int numOfThesis;
};
bool Student::isExceptional()
{
return average >= 90;
}
void Student::

纯虚函数不需要实现,否则,需要实现的。
不用纯虚函数,也不会报错的啊,请看下面的程序。

#include <iostream>
#include <string>
using namespace std;

class Person
{
public:
Person( string na ):name(na){}
Person():name(""){}
virtual bool isExceptional()
{
return false;//////////////////////实现
}
virtual void showInfo()
{
cout<<"Person Name: "<<name<<endl; //////////////////////实现
}
protected:
string name;
};

class Student : public Person
{
public:
Student( string na , int ave ):Person( na ),average(ave){}
virtual bool isExceptional();
virtual void showInfo();
private:
int average;
};

class Teacher : public Person
{
public:

Teacher( string na , int num = 0 ):Person( na ),numOfThesis( num ){}
virtual bool isExceptional();
virtual void showI