我不明白如何实现以下代码以允许函数写入现有数组。
void Project::addStaff(const Staff&)
{
//add employees into staff array
}
Staff::Staff (std::string lname, std::string fname)
: theLname(lname), theFname(fname)
{}
有没有办法为员工编写变量,以便我可以访问所需的值以放入数组中?任何帮助将不胜感激!
答案 0 :(得分:1)
您的Project
班级可能有std::vector
个数据成员,您可以使用vector.push_back()
方法在阵列中添加新的Staff
个实例:
// Inside Project class:
std::vector<Staff> m_staffPersons;
void Project::addStaff(const Staff& newStaff)
{
// Add employees into staff array
m_staffPersons.push_back(newStaff);
}
答案 1 :(得分:1)
我会将代表员工列表的std::vector<Staff>
定义为此Project
类的成员:
class Project
{
public:
void addStaff(const Staff&);
vector<Staff> employees;
}
然后您的addStaff
方法可能如下所示:
void Project::addStaff(const Staff& newEmployee)
{
employees.push_back(newEmployee);
}
但我肯定会重命名Staff
课,因为它对自己并没有多说。 Employee
对于这门课来说会更好。