为类创建包并检查c+中字符串的格式+; 我通过在线资源学习C++。我只是个初学者。我正在尝试解决一个我在网上发现的问题

为类创建包并检查c+中字符串的格式+; 我通过在线资源学习C++。我只是个初学者。我正在尝试解决一个我在网上发现的问题,c++,C++,创建一个名为Employee的类 在类中,您将拥有以下数据成员: 名称:字符串 id:字符串 小时数:int 费率:双倍 私人成员 您不需要创建arg和参数化构造函数以及相应的setter(accessor)和getter(mutator) 类定义还应处理以下异常: 员工姓名不应为空,否则应引发异常 员工id的格式应为LLNNNN。如果未收到该表单,则应引发异常 员工的工作时间不得为负值,也不得大于84。否则应引发异常 员工的工资率不得为负值,也不得高于25.00。否则应引发异常 在程序

创建一个名为Employee的类

在类中,您将拥有以下数据成员:

  • 名称
    :字符串

  • id
    :字符串

  • 小时数
    :int

  • 费率
    :双倍

  • 私人成员

您不需要创建arg和参数化构造函数以及相应的setter(accessor)和getter(mutator)

类定义还应处理以下异常:

  • 员工姓名不应为空,否则应引发异常

  • 员工
    id
    的格式应为
    LLNNNN
    。如果未收到该表单,则应引发异常

  • 员工的工作时间不得为负值,也不得大于
    84
    。否则应引发异常

  • 员工的工资率不得为负值,也不得高于
    25.00
    。否则应引发异常

在程序中演示该类(单独类或同一类)

异常消息应适用于已发生的特定异常

为项目创建一个包
employee

这是我的程序,很有效

#include <iostream>
using namespace std;

class Employee {
    public:
        string getName(void);
        string getId(void);
        int getHours(void);
        double getRate(void);

        void setName(string _name);
        void setId(string _id);
        void setHours(int _hours);
        void setRate(double _rate);

        Employee();
        Employee(string _name, string _id, int _hours, double _rate);

    private:
        string name;
        string id;
        int hours;
        double rate;

};

string Employee::getName() {
    return name;
}
string Employee::getId() {
    return id;
}
int Employee::getHours() {
    return hours;
}
double Employee::getRate() {
    return rate;
}
void Employee::setName(string _name) {
    if(_name.size() == 0) {
        throw "Name can not be empty";
    }
    name = _name;
}
void Employee::setId(string _id) {
    id = _id;
}
void Employee::setHours(int _hours) {
    if(_hours < 0 && _hours > 84) {
        throw "Hours must be between 1 to 84";
    }
    hours = _hours;
}
void Employee::setRate(double _rate) {
    if(_rate < 0.0 && _rate > 25.00) {
        throw "Rate must be between 0.0 and 25.00";
    }
    rate = _rate;
}
Employee::Employee() {};

Employee::Employee(string _name, string _id, int _hours, double _rate) {
    try{
        setName(_name);
        cout <<  getName() << endl;
    }catch(const char* msg) {
        cout << msg << endl;
    }
}

int main() {
    string a;
    Employee p;
    p.setName("Ram");
    a = p.getName();
    cout<< a << endl;

}
#包括
使用名称空间std;
班级员工{
公众:
字符串getName(void);
字符串getId(void);
整小时(无效);
双速率(无效);
void setName(字符串_name);
void setId(字符串_id);
无效设置小时数(整数小时);
空隙率(双倍率);
雇员();
员工(字符串名称、字符串id、整数小时、双倍费率);
私人:
字符串名;
字符串id;
整小时;
双倍费率;
};
字符串Employee::getName(){
返回名称;
}
字符串Employee::getId(){
返回id;
}
int Employee::getHours(){
返程时间;
}
double Employee::getRate(){
回报率;
}
void Employee::setName(字符串_name){
如果(_name.size()==0){
抛出“名称不能为空”;
}
名称=_名称;
}
void Employee::setId(字符串_id){
id=_id;
}
无效员工::设置小时数(整数小时){
如果(_小时<0&&u小时>84){
抛出“小时数必须在1到84之间”;
}
小时=_小时;
}
作废员工::设置费率(双倍费率){
如果(_比率<0.0&&u比率>25.00){
投掷“速度必须介于0.0和25.00之间”;
}
比率=_比率;
}
Employee::Employee(){};
Employee::Employee(字符串名称、字符串id、整数小时、双倍费率){
试一试{
setName(_name);

cout
LLNNN
==字母、字母、数字、数字、数字(即员工可以拥有ID
JN0292
)为项目创建一个包员工。我同意你的观点。我也不知道他们的意思。这是我所做的和声明的构造函数。我对此感到困惑。没有必要感到困惑。在我看来,你是对的。