C++ primer(第五版) 练习 6.56 个人 code
来源:互联网 发布:小动画制作软件 编辑:程序博客网 时间:2024/05/16 06:24
C++ primer(第五版) 练习 6.56
题目:调用上述vector对象(练习 6.55中的)中的每个元素并输出其结果。
答:
第一次把函数声明跟定义写在了不同的文件,发现貌似跟书上讲的不太一样啊???
定义函数体的文件里面没有 #include 声明函数的文件,就可以编译,#include 了反而就重复声明了……
mypractice.h
/*mypractice.h编写函数声明,令其接受两个int形参并且返回类型也是int;然后声明一个vector对象,令其元素是指向该函数的指针。编写4个函数,分别对两个int值执行加、减、乘、除运算;在上一题创建的vector对象中保存指向这些函数的指针。*/#include <vector>using std::vector;using pFunc= int (*)(int x, int y);vector<pFunc> iVal;int m_add(int a, int b);int m_dec(int a, int b);int m_mul(int a, int b);int m_div(int a, int b);
mypractice.cpp 貌似这个文件该 #include "mypractice.h" 的吧?
/*mypractice.cpp定义 int m_add(int a, int b);int m_dec(int a, int b);int m_mul(int a, int b);int m_div(int a, int b);*/int m_add(int a, int b){return a + b;}int m_dec(int a, int b){return a - b;}int m_mul(int a, int b){return a*b;}int m_div(int a, int b){return a / b;}
/*mymain.cpp调用上述vector对象中的每个元素并输出其结果。*/#include <iostream>#include "mypractice.h"using std::cout;using std::endl;int main(){int v1 = 6, v2 = 3;iVal.push_back(m_add);iVal.push_back(m_dec);iVal.push_back(m_mul);iVal.push_back(m_div);for (auto a : iVal)cout << a(v1, v2) << endl;return 0;}
执行结果:
0 0
- C++ primer(第五版) 练习 6.56 个人 code
- C++ primer(第五版) 练习 3.17 个人code
- C++ primer(第五版) 练习 3.10 个人code
- C++ primer(第五版) 练习 3.20 个人code
- C++ primer(第五版) 练习 3.21 个人code
- C++ primer(第五版) 练习 3.22 个人code
- C++ primer(第五版) 练习 3.23 个人code
- C++ primer(第五版) 练习 3.24 个人code
- C++ primer(第五版) 练习 3.31 个人code
- C++ primer(第五版) 练习 3.32 个人code
- C++ primer(第五版) 练习 3.35 个人code
- C++ primer(第五版) 练习 3.36 个人code
- C++ primer(第五版) 练习 3.39 个人code
- C++ primer(第五版) 练习 3.40 个人code
- C++ primer(第五版) 练习 3.41 个人code
- C++ primer(第五版) 练习 3.42 个人code
- C++ primer(第五版) 练习 3.43 个人code
- C++ primer(第五版) 练习 3.44 个人code
- HDU 1863 畅通工程 (最小生成树)
- codeforces #260 div1
- dele
- ACM训练计划
- Unable to execute dex: Multiple dex files define Lcom/kenai/jbosh/AbstractAttr
- C++ primer(第五版) 练习 6.56 个人 code
- C语言中的枚举(enum)
- 实现算法2.1的程序
- ubuntu14.04安装软件全记录
- 多线程同步中的条件变量的细节与使用
- Leetcode: Spiral Matrix
- makefile之多目录文件编译
- ViewHolder模式超简洁写法,很cool!
- USACO packrec