C++ 创建类成员函数
我正在尝试为我创建的类创建一个类成员函数。当前,该类有一个二维数组,该数组通过读取文件中的文本来填充 然后我尝试通过成员函数操纵数组来执行不同的任务(我正在创建一个菜单驱动的程序) 然后,我创建了下面的函数:C++ 创建类成员函数,c++,arrays,function,class,oop,C++,Arrays,Function,Class,Oop,我正在尝试为我创建的类创建一个类成员函数。当前,该类有一个二维数组,该数组通过读取文件中的文本来填充 然后我尝试通过成员函数操纵数组来执行不同的任务(我正在创建一个菜单驱动的程序) 然后,我创建了下面的函数: void getSex() { for (int r = 0; (r < 4); r++) { for (int c = 0; (c < 2); c++) cout << array[x][y] << " ";
void getSex()
{
for (int r = 0; (r < 4); r++)
{
for (int c = 0; (c < 2); c++) cout << array[x][y] << " ";
cout << endl;
}
}
void getSex()
{
for(int r=0;(r<4);r++)
{
对于(int c=0;(c<2);c++)cout
“非静态成员引用必须相对于特定对象。”
这是针对您的数组的,它不是静态的
,而getSex()
是静态的
。但是将该方法标记为静态的
,有意义吗?我的意思是每个人
都会有自己的性别(男性或女性)
PS:通常getter函数返回一些东西,而你的函数有as返回类型void
。我怀疑你这样做只是为了测试(因为你打印了一些东西).为什么将getSex
声明为static
?一个get函数返回void
-这有什么意义?至少,这很奇怪。正如@tobi303所说,您不能在static
函数中使用类成员array
。您需要同时标记array
static
,或者(这很可能是您想要做的)将函数定义更改为void getSex();
英语不是我的母语,但据我所知,英语中的“Sex”与“Gender”不同,例如在意大利语中,getSex似乎是一个非常有趣的活动,但也许你的意思是:你应该决定在循环中使用哪些变量:r
或x
,c
或y
?在现实世界中,限制男性或女性的性行为并不能完全消除它;-)@JesperJuhl我也在想同样的事情编译器从不假设性别。
int main()
{
switch (case)
{
case '1':
Person();
break;
case '2':
Person::getSex();
break;
}
void getSex()
{
for (int r = 0; (r < 4); r++)
{
for (int c = 0; (c < 2); c++) cout << array[x][y] << " ";
cout << endl;
}
}