创建类成员功能
Creating class member functions
我正在尝试为我创建的类创建类成员函数。当前,该类具有一个2D数组,该数组通过从文件中读取文本来填充。
我试图做的是通过成员函数操纵数组以执行不同的任务(我正在创建一个菜单驱动的程序(。
class Person
{
private:
string sname;
string fname;
string sex;
string dob;
string array[4][8];
public:
Person();
void getSex(); <-- This is where I'm struggling
};
从我的主机上,我有一个我用来调用功能的开关案例。
int main()
{
switch (case)
{
case '1':
Person();
break;
case '2':
Person::getSex();
break;
}
i然后具有我在下面创建的功能:
void getSex()
{
for (int r = 0; (r < 4); r++)
{
for (int c = 0; (c < 2); c++) cout << array[x][y] << " ";
cout << endl;
}
}
但是,在我创建的功能中,我在数组上遇到一个错误,该数组说:
"非静态成员参考必须相对于特定对象。"
任何人都可以看到我要去哪里,请帮助我纠正它?
编辑:
所以我现在知道我不应该使用静态,而(至少(应该使用void(尽管拥有实际的返回类型会更好 - 但是如果我设置了该功能以使我的数组不确定?
"非静态成员参考必须相对于特定对象。"
那是您的数组,不是static
,而getSex()
为static
。但是,将该方法标记为static
是否有意义?我的意思是每个Person
都会有其性别(女性的男性(。
ps:通常getter函数返回某些内容,而您的功能则为返回类型void
。我怀疑您只是为了进行测试而这样做(因为您打印了某些东西(。
相关文章:
- 类模板的成员功能的定义在单独的TU中完全专业化
- 升压信号2将插槽传递到成员功能以断开连接
- 多次实现成员功能
- 如何定义可变参数类模板的成员模板功能
- 私有成员数据不可用于公共成员功能
- 好友功能 - 成员无法访问
- 如何启用友元类的友元功能直接在C++中访问其私有成员
- 无法从好友功能访问类的私有成员?"ostream"不是"std"的成员?
- C++从成员类型中扣除类型的功能模板?
- 如何避免大多数成员功能相同的代码重复
- 无法访问公共功能? 没有指定成员?
- C 成员功能
- =删除用户定义的成员功能,除了构造函数,分配运算符C 11
- C 朋友课程和朋友成员功能
- C 函数调用包装器包含类成员功能作为模板参数
- 共享库中静态功能成员的破坏顺序
- 可以使用仅功能成员属性进行回调界面
- 虚拟方法与std ::功能成员变量在性能方面
- 虚拟继承和功能成员
- 指向功能成员和非成员的指针