C++Primer第五版 6.7节练习
来源:互联网 发布:ios 数组修饰 编辑:程序博客网 时间:2024/06/07 00:27
练习6.54:编写函数的声明,令其接收两个int形参并且返回类型也是int;然后声明一个vector对象,令其元素是指向该函数的指针。
练习 6.55:编写4个函数,分别对两个int值执行加、减、乘、除运算;在上一题创建的vector对象中保存这些函数的指针。
练习 6.56:调用上述vector对象的每个元素并输出其结果。
答:见云盘程序练习6.54-55-56.cpp。
练习6.4-55-56.cpp
/**练习6.54-55-56*2015/6/15*问题描述:*练习6.54:编写函数的声明,令其接收两个int形参并且返回类型也是int;然后声明一个vector对象,令其元素是指向该函数的指针。**练习 6.55:编写4个函数,分别对两个int值执行加、减、乘、除运算;在上一题创建的vector对象中保存这些函数的指针。**练习 6.56:调用上述vector对象的每个元素并输出其结果。**功能:完成上述练习*作者:Nick Feng*邮箱:nickgreen23@163.com**/#include <iostream>#include <vector>using namespace std;/*********练习6.54:编写函数的声明,令其接收两个int形参并且返回类型也是int;然后声明一个vector对象,令其元素是指向该函数的指针。****/int calc(int, int); typedef int (*pc)(int, int);vector<pc> vec;/*********练习 6.55:编写4个函数,分别对两个int值执行加、减、乘、除运算;在上一题创建的vector对象中保存这些函数的指针。****/int Add(int a, int b){ return a + b;}int Sub(int a, int b){ return a - b;}int Multiply(int a, int b) { return a * b;}int Divide(int a, int b){ if (b != 0) return a / b;}int main(){ /****练习 6.56:调用上述vector对象的每个元素并输出其结果。*******/ int x(1), y(1); pc p1 = Add; pc p2 = Sub; pc p3 = Multiply; pc p4 = Divide; vec.push_back(p1); vec.push_back(p2); vec.push_back(p3); vec.push_back(p4); for (auto i = 0; i != vec.size(); ++i) cout << "The reult is:" << (vec[i])(x, y) << endl;return 0;}
0 0
- C++Primer第五版 6.7节练习
- C++primer第五版 练习6.7
- C++Primer 第五版 1.1节练习
- C++Primer第五版 1.3节练习
- C++Primer第五版 1.6节练习
- C++Primer第五版 2.4节练习
- C++Primer第五版 3.1节练习
- C++Primer第五版 4.2节练习
- C++Primer第五版 4.3节练习
- C++Primer第五版 4.4节练习
- C++Primer第五版 4.6节练习
- C++Primer第五版 4.7节练习
- C++Primer第五版 4.8节练习
- C++Primer第五版 4.9节练习
- C++Primer第五版 4.5节练习
- C++Primer第五版 5.1节练习
- C++Primer第五版 5.2节练习
- C++Primer第五版 6.1节练习
- 图像滤镜艺术---挤压(Pinch)滤镜
- Android学习之调用系统应用打开文件
- 新鸟入博
- Java面试题
- FFMPEG研究: ubuntu下录制/dev/video0/设备视频保存为mp4格式
- C++Primer第五版 6.7节练习
- Qt 模块简介
- mysql查询拼接
- SunOS 命令
- 用chrome模拟微信浏览器访问需要OAuth2.0网页授权的页面
- 设计模式-观察者模式
- QT QSerialPort类使用时连接出错(VS)
- OC语言中的block数据类型
- scala学习笔记(七) 继承