不能实例化抽象类
这是我编的一个程序的一部分,编译时出现了一个不能实例化抽象类的错误,我以前没有见过,不知道是什么原因,请各位高手帮个忙
#include <iostream>
#include <string>
using namespace std;
//*****************************************************************
class SJTUData
{public:
SJTUData()
{
}
SJTUData(int num,char name[100],char sex,char adr[100],int tele,char bumen[100])
{
m_num=num;
strcpy(m_name,name);
m_sex=sex;
strcpy(m_adr,adr);
m_tele=tele;
strcpy(m_bumen,bumen);
}
/* ~SJTUData()
{
}*/
virtual void print()=0;
int m_num;
char m_name[100];
char m_sex;
char m_adr[100];
int m_tele;
char m_bumen[100];
};
//*************************************************
void SJTUData::print()
{
cout < <m_num < < " " < <m_name < < " " < <m_sex < < " " < <m_adr < < " " < <m_tele < < " " < <m_bumen;
}
//*******************************************************
void main()
{
SJTUData p1(2, "wanghe ", 'm ', "jjjj ",1, "xuesheng ");
p1.print();
/* Student p2;
p2.input();
p2.shuchu();*/
/* Staff p3;
Professor p4;
StudentStaff p5;*/
}
//*************************************************
[解决办法]
virtual void print()=0;
====> 表示该类是抽象类, 不能实例化,改为:
virtual void print(); //不要=0