如何在C/c++中定义一组函数序列?
答案:3 悬赏:0 手机版
解决时间 2021-03-26 19:48
- 提问者网友:火车头
- 2021-03-25 21:09
如何在C/c++中定义一组函数序列?
最佳答案
- 五星知识达人网友:千夜
- 2021-03-25 22:12
你好,根据你的意思你是想先声明一个函数,然后再定义一个数组,并且让每个数组元素类型就是这一个函数是吧??
这样是不行的,因为数组元素必须是系统指定的类型比如int,char等,当然也可以是你自己新定义的数据类型(C++中你自己定义的class类型)。但是函数是不属于任何一种数据类型的。
其实同一个函数完成的功能是不变的,只是调用时传入的参数可能会变化,所以你只需将每个参数组成一个double类型的数组,然后利用循环不停地调用这个函数就行啊。
还有一个办法就是把你的函数写在你自己定义的class中让它成为一个成员函数,这样你在创建完class的对象后也可以调用它。
这样是不行的,因为数组元素必须是系统指定的类型比如int,char等,当然也可以是你自己新定义的数据类型(C++中你自己定义的class类型)。但是函数是不属于任何一种数据类型的。
其实同一个函数完成的功能是不变的,只是调用时传入的参数可能会变化,所以你只需将每个参数组成一个double类型的数组,然后利用循环不停地调用这个函数就行啊。
还有一个办法就是把你的函数写在你自己定义的class中让它成为一个成员函数,这样你在创建完class的对象后也可以调用它。
全部回答
- 1楼网友:刀戟声无边
- 2021-03-25 23:47
???不懂,用循环可以不?把函数嵌套到里面去。
- 2楼网友:酒醒三更
- 2021-03-25 23:31
定义函数指针数组:
double (*pf[])(double x)={函数1,函数2,函数3,....};
例如:double(*pf[])(Type1 x,Type2 y)={fun1,fun2,fun3,.....};
调用时:(*pf[type])(参数表);//type=0,1,2,3,4.....;
因为有多个函数,所以要定义一个数组,又因为数组的每个元素都是字符串,所以定义的是指针数组,当然也可以使用二维数组,推荐使用指针。
不明白再问。。
double (*pf[])(double x)={函数1,函数2,函数3,....};
例如:double(*pf[])(Type1 x,Type2 y)={fun1,fun2,fun3,.....};
调用时:(*pf[type])(参数表);//type=0,1,2,3,4.....;
因为有多个函数,所以要定义一个数组,又因为数组的每个元素都是字符串,所以定义的是指针数组,当然也可以使用二维数组,推荐使用指针。
不明白再问。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯