早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

在C++语言中,若类C中定义了一个方法intf(int a,int b),那么方法不能与该方法同时存在于类C中。A.i

题目

在C++语言中,若类C中定义了一个方法intf(int a,int b),那么方法不能与该方法同时存在于类C中。

A.int f(int x,int y)

B.int f(float a,int b)

C.float f(int x,float y)

D.int f(int x,float y)

参考答案
正确答案:A
解析:该题其实考查的是形参和函数重载。编译器视函数“intf(inta,intb)”和“intf(intx,inty)”为同一个函数,尽管两者的形参名称不一样,编译器只管形参的类型是不是一样。在VC6.0中,若在同一个类中定义这两个函数,编译错误信息中会提示“memberfunctionalreadydefinedordeclared”,即成员函数已定义或声明了。对于在同一可访问区内(如同一个类中)被声明的几个具有不同参数列(参数的类型、个数、顺序不同)的同名函数,程序会根据不同的参数列来确定具体调用哪个函数,这种机制叫重载,重载不关心函数的返回值类型。这里,“重载”的“重”的意思不同于“轻重”的“重”,它是“重复”、“重叠”的意思。可见,B、C、D均与“intf(inta,intb)”构成重载。另外,值得特别强调的是,重载不关心函数的返回值类型,在同一个类中,也不允许“intf(inta,intb)”、“floatf(inta,intb)”两者同时存在,这两者不构成重载,编译器无法识别。
看了在C++语言中,若类C中定义了...的网友还看了以下: