掌握函数指针的使用方法。
分别定义三角形和矩形面积计算函数,并以函数指针的形式作为a r e a areaarea函数的第三个参数,计算图形面积的时候直接调用a r e a areaarea函数即可。
题目: 使用函数指针实现三角形和矩形面积计算函数的统一封装double area(double x, double y, double (*area_func)(double x, double y))。
要求:
#include<iostream>
using namespace std;
double(*area_func)(double x, double y);
double triagle_S(double x, double y){ //x、y分别为三角形的底和高
return x * y / 2;
}
double rectangle_S(double x, double y){//x、y分别为矩形的长和宽
return x * y;
}
double area(double x, double y, double area_func(double x, double y)) {
return area_func(x, y);
}
int main(){
double x, y, z;
cout << "计算三角形请按1,计算矩形请按2:" << endl;
cin >> z;
if (z != 1 && z != 2) {
cout << "没有该选项" << endl;
return -1;
}
cout << "请输入图形参数:" << endl;
cin >> x >> y;
if (x <= 0 || y <= 0) {
cout << "参数错误" << endl;
return -1;
}
if (z == 1) {
cout << "图形面积为:" << area(x, y, triagle_S) << endl;;
}
else {
cout << "图形面积为:" << area(x, y, rectangle_S) << endl;;
}
system("pause");
return 0;
}
三角形面积计算:
输入三角形底边长和高分别为5 55、4.4 4.44.4,计算得面积为11 1111
矩形面积计算:
输入矩形长和宽分别为5 55、4.4 4.44.4,计算得面积为22 2222
版权声明:本文为LeopoldZhang2000原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。