C++中没有接口的概念,C++类中科院使用纯虚函数实现接口,接口类中只有函数原型定义,没有任何数据的定义。
#include<iostream>
using namespace std;
class programer
{
public:
virtual void getmoney()=0;
};
class dijiprogramer:public programer
{
public:
dijiprogramer(char *name,char *job,int money)
{
this->name=name;
this->job=job;
this->money=money;
}
virtual void getmoney()
{
cout<<name<<" "<<job<<":"<<money<<endl;
}
private:
char *name;
char *job;
int money;
};
class zhongjiprogramer:public programer
{
public:
zhongjiprogramer(char *name,char *job,int money)
{
this->name=name;
this->job=job;
this->money=money;
}
virtual void getmoney()
{
cout<<name<<" "<<job<<":"<<money<<endl;
}
private:
char *name;
char *job;
int money;
};
class gaojiprogramer:public programer
{
public:
gaojiprogramer(char *name,char *job,int money)
{
this->name=name;
this->job=job;
this->money=money;
}
virtual void getmoney()
{
cout<<name<<" "<<job<<":"<<money<<endl;
}
private:
char *name;
char *job;
int money;
};
class jiagoushiprogramer:public programer
{
public:
jiagoushiprogramer(char *name,char *job,int money)
{
this->name=name;
this->job=job;
this->money=money;
}
virtual void getmoney()
{
cout<<name<<" "<<job<<":"<<money<<endl;
}
private:
char *name;
char *job;
int money;
};
void gongzi(programer *base)
{
base->getmoney();
}
int main(){
dijiprogramer dj("张豪","低级程序员",4000);
zhongjiprogramer zj("老梁","中级程序员",8000);
gaojiprogramer gj("我","高级程序员",15000);
jiagoushiprogramer jg("扫地僧","架构师",24000);
gongzi(&dj);
gongzi(&zj);
gongzi(&gj);
gongzi(&jg);
system("pause");
return 0;
}