下列有关函数重载的叙述中,错误的是

下列有关函数重载的叙述中,错误的是,第1张

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;

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/11670948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存