a[i].f() 如上,一个数组加一点加一个函数是什么意思?
答案:1 悬赏:80 手机版
解决时间 2021-11-13 14:08
- 提问者网友:沉默菋噵
- 2021-11-13 05:38
a[i].f() 如上,一个数组加一点加一个函数是什么意思?
最佳答案
- 五星知识达人网友:冷風如刀
- 2021-11-13 06:50
数组a里存放的对象有一个函数f(),a[i].f()就是a里第i个对象调用成员函数f()追问表示新人,不懂数组里存放的对象可以是函数······
依你所言,这样的数组该怎样声明?声明后怎样定义?追答像普通数组一样使用就行。比如:
// 事例类
class Temple
{
public:
void f() {}
};
void main()
{
Temple a[5]; // 声明一个含有5个Temple类型的数组
// 初始化数组
for (int i = 0; i < 5; i++)
{
Temple temp;
a[i] = temp;
}
// 使用
for (int i = 0; i < 5; i++)
{
a[i].f();
}
}追问这是C++吧?
如果是C语言,这儿样表达会有语法错误吗?如果有,应该改成什么样的形式才能让C编译器接受?追答把 Temple前面的class换成struct就能接受追问
追答不知道你用的什么编译器,从错误输出来看的话,你在void f()函数里做点事看看,比如函数体里增加一行int kk = 0;第二个丢失";"符号 你得检查一下了 注意输入法用英文。还有不要复制粘贴,自己写,复制粘贴的会有很多其他字符,导致编译不过。
这是我用vs2015的编译结果:
依你所言,这样的数组该怎样声明?声明后怎样定义?追答像普通数组一样使用就行。比如:
// 事例类
class Temple
{
public:
void f() {}
};
void main()
{
Temple a[5]; // 声明一个含有5个Temple类型的数组
// 初始化数组
for (int i = 0; i < 5; i++)
{
Temple temp;
a[i] = temp;
}
// 使用
for (int i = 0; i < 5; i++)
{
a[i].f();
}
}追问这是C++吧?
如果是C语言,这儿样表达会有语法错误吗?如果有,应该改成什么样的形式才能让C编译器接受?追答把 Temple前面的class换成struct就能接受追问
追答不知道你用的什么编译器,从错误输出来看的话,你在void f()函数里做点事看看,比如函数体里增加一行int kk = 0;第二个丢失";"符号 你得检查一下了 注意输入法用英文。还有不要复制粘贴,自己写,复制粘贴的会有很多其他字符,导致编译不过。
这是我用vs2015的编译结果:
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯