猿问

这样定义数组能行不???求大佬指点一下

class worker
{
public:
worker(string dep,string nam,int n,int x);//定义构造函数

worker(){}
void set(int &);
int choiceoption();

void displayall(int m);
int yanzheng(int ,int );//验证员工号

string department;
string name;

int num;
int situ1[13];
int situ2[13];
int situ3[13];
int situ4[13];
int situ5[13];
int situ6[13];
int situ7[13];

};
class KQdk:virtual public worker
{
public:
void show1();//显示菜单函数
KQdk(string dep,string nam,int n,int x):
worker(dep,nam,n,x){}

void run1(worker a,int choice,int m);//choice<=2

void run2(worker &,int m);//choice=3

void GLYZ(int &);

void tim (const struct tm *&);//计算值(时间函数)

};
class KQTJ:virtual public worker
{
public:

void month_tongji(worker a,int m);
KQTJ(string dep,string nam,int n,int x):
worker(dep,nam,n,x){}

void year_tongji(worker a);

void display_KQ(worker a,int m,int &,int &,int& );//m为月份;q,w,e分别为全勤,旷工》2,迟到或早退》5的标志
void KQTJ_display();

};
class menu:public KQdk,public KQTJ
{
public:
menu(string dep,string nam,int n,int x):
KQdk(dep,nam,n,x),KQTJ(dep,nam,n,x){}//构造函数
void pasue();
void menu_welcome();//欢迎界面
void menu_start();//菜单显示界面
void menu_end();//退出界面
void menu_run();//运行函数
int menu_display(worker (&a)[11],int);

};
这是我的4个类。。。在定义
worker staff[11]={worker("wewe","wewe",45)worker('a','a',1),
worker('a','b',2),
worker('a','c',3),
worker('a','d',4),
worker('a','e',5),
worker('b','f',6),
worker('b','g',7),
worker('b','h',8),
worker('b','i',9),
worker('b','j',10)};

狐的传说
浏览 144回答 2
2回答

萧十郎

worker(string dep,string nam,int n,int x);//定义构造函数这是你的构造函数,它接收4个参数,分别是 string string int int,你如果只传递3个参数,要么使用默认参数,要么再定义相应版本的构造函数。另外 string 类没有构造函数接收 char ,但可以接收字符串(const char *),所以你可以传递参数 "a" ,但不可以传递 'a'。数组可以这么定义,这时数组大小可以由编译器计算,如无必要,不必手工填写

ITMISS

你定义的是4个参数的构造函数,worker('a','b',2),只传了3个实参
随时随地看视频慕课网APP
我要回答