为类创建包并检查c+中字符串的格式+; 我通过在线资源学习C++。我只是个初学者。我正在尝试解决一个我在网上发现的问题
创建一个名为Employee的类 在类中,您将拥有以下数据成员:为类创建包并检查c+中字符串的格式+; 我通过在线资源学习C++。我只是个初学者。我正在尝试解决一个我在网上发现的问题,c++,C++,创建一个名为Employee的类 在类中,您将拥有以下数据成员: 名称:字符串 id:字符串 小时数:int 费率:双倍 私人成员 您不需要创建arg和参数化构造函数以及相应的setter(accessor)和getter(mutator) 类定义还应处理以下异常: 员工姓名不应为空,否则应引发异常 员工id的格式应为LLNNNN。如果未收到该表单,则应引发异常 员工的工作时间不得为负值,也不得大于84。否则应引发异常 员工的工资率不得为负值,也不得高于25.00。否则应引发异常 在程序
:字符串名称
:字符串id
:int小时数
:双倍费率
- 私人成员
- 员工姓名不应为空,否则应引发异常
- 员工
的格式应为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);
coutLLNNN
==字母、字母、数字、数字、数字(即员工可以拥有IDJN0292
)为项目创建一个包员工。我同意你的观点。我也不知道他们的意思。这是我所做的和声明的构造函数。我对此感到困惑。没有必要感到困惑。在我看来,你是对的。