A,这种话就说的让人很难办,你说他对把,说的不完整,你说他错把,好像也不行。如果这个是单选题,那就算他对的
B,正确
C,错的,返回值可以相同
D。对的,重载函数可以有默认参数。你要是没试过就上机试一试,我也没试过,但是想想看,构造函数经常就是重载的,并且带默认参数的,这总没问题把
个人观点:
不加标注容易忽略这个应该容易理解,使用默认参数和指定参数的版本可以认为是两个重载的函数。但是声明和定义都只有一个函数,可能容易忽略。
至于覆盖,那说明有不同的名字空间。比如在std中定义了一个函数
f(int a = 0);
在std::sub命名空间中定义了一个
f();
那么在std::sub空间中,std::sub::f()就会将std::f()覆盖掉。
//====================
#include <iostream>
using namespace std;
//===================
//声明要放到外面,养成良好编程习惯
double max(double a,double b,double c);
int max(int i,int j,int k);
int main()
{
//应该这样写;
//int max(5,6,7);这是调用吗?
//cout<<max()<<endl;为什么函数没参数那?
cout<<max(5,6,7)<<endl;
double i,j,k,result;
cin>>i>>j>>k;
result=max(i,j,k);
cout<<result<<endl;
return 0;
}
int max(int i,int j,int k)
{
if(i<j) i=j;
if(k<j) k=j;
cout<<j<<endl;
}
double max(double i,double j,double k)
{
if(i<j) i=j;
if(k<j) k=j;
cout<<j<<endl;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)