首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++小白.求调教解决方法

2012-05-09 
C++小白..求调教#includeiostream#includestringusing namespace stdclass Employee{protected:strin

C++小白..求调教
#include<iostream>
#include<string>
using namespace std;
class Employee
{
  protected:
string name;
string ID;
public:
Employee(){};
  virtual void set()=0;
virtual void show()=0;


~Employee(){};
};


class Manager:public Employee
{
  private:
double salary;
public:
  Manager(){};
void set(string n,string i,double s)
{  

name=n;
ID=i;
  salary=s;
};
   
void show()
{ cout<<"Manager"<<endl;
cout<<"name:"<<name<<endl;
cout<<"ID:"<<ID<<endl;
cout<<"salary:"<<salary<<endl;

};

~Manager(){};
};

void main()
{ Employee *p;
  Manager m;
  p=&m;
p->set("a","1001",3000);
p->show();

}

[解决办法]
Employee中的定义改为virtual void set()=0;改为void set(string n,string i,double s)=0;就达到你想要的结果了
 

[解决办法]
基类virtual void set()=0这个方法为纯虚函数,但是你在子类Manager中却实现了void set(string n,string i,double s)这个方法,并没有实现virtual void set()=0,所以子类Manager还是一个抽象类,是不能实例化的

热点排行