include <iostream>
#include<string>
using namespace std;
class person
{
private:
string name,sex;
int age;
static int sum;//定义类的静态数据成员
public:
virtual void init(string n,string s,int t)//输入
{
name=n;
sex=s;
age=t;
sum++;
}
virtual void print()//输出
{
cout<<"姓名:"<<name<<endl;
cout<<"性别:"<<sex<<endl;
cout<<"年龄:"<<age<<endl;
}
static int get_sum;//定义类的静态成员函数
{
cout<<"总人数:"<<sum<<endl;
return sum=0;
}
};
int person::sum=0;//类外分配内存空间
class student:public person
{
private:
string speciality;//专业
public:
virtual void init(string n,string s,int t,string sp)
{
person::init( n,s,t);
speciality=sp;
}
virtual void print()
{
person::print();
cout<<"专业: "<<speciality<<endl;
person::get_sum();
}
};
class teacher:public person
{
private:
string department;
public:
virtual void init(string n,string s,int t,string d)
{
person::init(n,s,t);
department=d;
}
virtual void print()
{
person::print();
cout<<"院系: "<<department<<endl;
person::get_sum();
}
};
class employee:public person
{
private:
string work,post;//部门,职务
public:
virtual void init(string n,string s,int t,string w,string p)
{
person::init(n,s,t);
work=w;
post=p;
}
virtual void print()
{
person::print();
cout<<"部门: "<<work<<endl;
cout<<"职务: "<<post<<endl;
person::get_sum();
}
};
int main()
{
student qq;
qq.init("赵三","男",18,"物联网");
qq.print();
teacher ww;
ww.init("王四","男",20,"计算机学院");
ww.print();
employee ee;
ee.init("栋五","男",21,"后勤部","清洁员");
ee.print();
return 0;
}
以下是显示的错误
--------------------Configuration: 222 - Win32 Debug--------------------
Compiling...
2.cpp
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\222\2.cpp(29) : error C2059: syntax error : '{'
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\222\2.cpp(29) : error C2334: unexpected token(s) preceding '{'; skipping apparent function body
执行 cl.exe 时出错.
2.obj - 1 error(s), 0 warning(s)