有以下定义: class A{ public: A(int vx){ x=vx; } void f(int vx) {x=vx; } int getx() {return x; } private: int x; }; 要为类型A设计类外的一个无返回值的函数fun,用于接收一个A类型的对象,如 int main() { A obj(3); fun(obj); return 0; } 先要求约束fun不能对obj的值做修改,那么下列可行的办法是
举一反三
- 以下的类(接口)定义中正确的是( ) A: public class A{ private int x; public getX(){ return x; }} B: public abstract class A{ private int x; public abstract int getX(); public int aMethod(){ return 0; }} C: public class A{ private int x; public abstract int getX();} D: public interface interfaceA{ private int x; public int getX(){ return x; }}
- #include <;stdio.h>;int fun(int x);int main(){ printf("%d",fun(4)); return 0;}int fun(int x){ if(x==1)return 3; return x*x+fun(x-1);}程序输出结果为( )
- 若有一函数定义为int fun(int x, int *y){ return (*y)/x; }该函数的函数原型额正确形式是() A: void fun(int ,int); B: int *fun(int ,int *) C: int fun(int *, int *); D: int fun(int, int *);
- 不能与该方法构成重载的方法是() public double fun(int x,double y){ return x + y; } A: public void fun(int x){ System.out.println("x * x="+(x*x)); } B: public void fun(int a, double b){ System.out.println("a +b ="+(a+b)); } C: public int fun(int x, int y,int z){ renturn (x+y+z); } D: public double fun(double x, int y){ return x * y ; }
- 如果要实现计算x绝对值的功能,下面程序有错误的是? A: int fun(int x){ if(x<0) return -x;<br> return x; } B: int fun(int x){ if(x<0) return -x;<br> else return x; } C: int fun(int x){ if(x<0) return -x;<br> if(x>0) return x; } D: int fun(int x){ if(x<0) return -x;<br> else if(x==0) return x; else return x; }