class Test {private: int x,y=20; public:
Test(int i,int j){x=i,y=j;} int getx(){return x;} int gety(){return y;} };
void main()
{Test mt(10,20);
cout< 答案:int x,y=20;在类内部不能对数据成员直接赋值。 [修改]int x,y; 2. #include fun(int i,int j) {x=i;y=j;} show() {cout<<\if(y) cout<<\cout< void main() {Test a; a.fun(1); a.show(); a.fun(2,4); a.show(); } 答案:int i,int j调用时,既有一个参数,也有两个参数,且没有重载,所以参数需要带默认 值。所以int i,int j错误。 [修改]int i,int j=0//注j只要有一个int类型的数据就行。 3. #include virtual void fun()=0; A(int a) {i=a;} }; class B:public A {int j; public: void fun() {cout<<\\n\ B(int m,int n=0):A(m),j(n){} }; void main() {A *pa; B b(7); pa=&b; } 答案:B(int m,int n=0):A(m),j(n){}因为基类是抽象类,不能被实例化,所以在派生类中不能 调用初始化基类对象。所以B(int m,int n=0):A(m),j(n){}错误,删去A(m)。 [修改]B(int m,int n=0):j(n){} 4. #include {cout< X(X&t) {x=t.x; cout< void fun(X); }; void fun(X t) {cout< 答案:cout< Bas(char *s=\\0\void show(); protected: char name[20]; }; Bas b; void show() {cout<<\void main() {Bas d2(\show(); } 答案:void show();是普通函数不是成员函数,但是要访问类成员,需要定义为友元函数。 [修改]friend void show(); 四、完成程序题(本大题共5小题,每小题4分,共20分) 1. 在下面程序横线处填上适当字句,以使该程序执行结果为: 50 4 34 21 10 0 7.1 8.1 9.1 10.1 11.1 #include for (int i=0;i t=a[i], a[i]=a[n-1-i], a[n-1-i]=t; } void main () {int a[5]={10,21,34,4,50}; double d[6]={11.1,10.1,9.1,8.1,7.1}; f(a,5);f(d,6);