C ++重载函数问题?

时间:2015-10-24 16:24:28

标签: c++

如果我有2个函数,这两个函数应该是不同的,这取决于我输入的参数,对吗?

#include "sub_string.h"


bool is_prefix(const char a[], const char b[]){
  return a[0]==b[0]? true : false;
}

bool is_prefix(const char a[], const char b[], int n){

  if(n==1){
    return is_prefix(a,b);
  }

  return false;

}

1 个答案:

答案 0 :(得分:0)

bool result = is_prefix(array1, array2);

将调用第一个版本。

bool result = is_prefix(array1, array2, number);

将调用重载版本。

调用哪个版本的is_prefix()取决于调用中使用的参数。只要两个函数因参数数字和/或类型而不同,编译器就知道要调用哪个函数(但请记住,返回类型不算作重载)。