c++ - C++ 枚举作为构造函数参数
问题描述
您好,我已经好几年没有使用 C++了,所以我有点生疏,无法弄清楚!
我有这个代码 | 人.h
#ifndef PERSON_H
#define PERSON_H
#include<string>
class Person {
private:
std::string fName, lName;
int age;
enum professionEnum {
Barber,
Developer,
Marketer
} profession;
public:
Person();
Person(std::string fName, std::string lName, int profession);
void setFName(std::string fName);
void print();
};
#endif
一个简单的人类。
我想要做的是让我的构造函数 Person() 取一个 int,例如:
Person me = Person("me", "meow", 0); // This should assign "me" to Barber, enum index is 0.
这是我到目前为止尝试过的(所有错误):
this->profession = professionEnum::profession;
this->profession = 0;
this->profession = professionEnum(profession);
这是完整的 person.cpp 代码
#include "person.h"
#include <iostream>
Person::Person() {
this->age = 18;
this->fName = "Default";
this->lName = "Default";
}
Person::Person(std::string fName, std::string lName, int profession) {
this->fName = fName;
this->lName = lName;
this->profession = professionEnum::profession;
this->profession = 0;
this->profession = professionEnum(profession);
}
void Person::print() {
std::cout << "Age : " << this->age << ", FName : " << this->fName << ", LName : " << this->lName << std::endl;
}
谢谢你的帮助
PS:如果您发现任何不良做法/不良代码,请告诉我。
解决方案
推荐阅读
- php - 如何从 Laravel 应用程序的服务器文件夹中预览 pdf、Word 或图像文件?
- regex - 想要使用 Notepad++ 从多个文件中删除一个函数
- bash - 十进制值的 awk 脚本
- vba - 根据其他列中的匹配数据连接不同行中的数据,同时保留所有数据
- nfa - 对这个 NFA 句子感到困惑
- plesk - Plesk Webserver - 新域重定向到服务器 IP 而不是 index.html
- ruby-on-rails - Rails 时区选择不显示 DST
- r - sliderInput 值随着滑块拖动而变化
- python - 我正在尝试将对象添加到 python 中的数组,然后打印数组的内容
- php - 引导模式不显示 - Laravel - AdminLTE