⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 functionpointers.cpp

📁 C++高级编程这本书所附的源代码
💻 CPP
字号:
#include <iostream>

using namespace std;

typedef bool(*YesNoFcn)(int, int);

bool intEqual(int inItem1, int inItem2);
bool bothOdd(int inItem1, int inItem2);
void findMatches(int values1[], int values2[], int numValues, YesNoFcn inFunction);

void findMatches(int values1[], int values2[], int numValues, YesNoFcn inFunction)
{
  for (int i = 0; i < numValues; i++) {
    if (inFunction(values1[i], values2[i])) {
      cout << "Match found at position " << i << " (" << values1[i] << ", " << values2[i] << ")" << endl;
    }
  }
}

bool intEqual(int inItem1, int inItem2)
{
  return (inItem1 == inItem2);
}

bool bothOdd(int inItem1, int inItem2)
{
  return (inItem1 % 2 == 1 && inItem2 % 2 == 1);
}

int main()
{
  int arr1[7] = {2, 5, 6, 9, 10, 1, 1};
  int arr2[7] = {4, 4, 2, 9, 0, 3, 4};

  cout << "Calling findMatches() using intEqual():" << endl;
  findMatches(arr1, arr2, 7, &intEqual);

  cout << endl;

  cout << "Calling findMatches() using bothOdd():" << endl;
  findMatches(arr1, arr2, 7, &bothOdd);
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -