找出下面程序中的错误,改正,并运行得到输出结果。
(1)#include<iostream.h>classbase{intx;public:voidsetx(intn){x=n;}voidshowx(){cout<<x<...
(1)
#include<iostream.h>
class base {
int x;
public:
void setx(int n)
{x=n;}
void showx()
{cout<<x<<endl;}
};
class derived: base{
int y;
public:
void setxy(int n,int m)
{ setx(n);
y=m; }
void showxy()
{ cout<<x<<;
showx();
cout<<y<<endl;
}
};
main()
{ derived obj;
obj.setx(10);
obj.showx();
obj.setxy(20,30);
obj.showxy();
return 0;
}
(2)
#include <iostream.h>
class X{
int a;
public:
void setX (int x)
{a=x;}
void showX()
{cout<<"a="<<a<<endl;}
};
class Y{
int b;
public:
void setY( int x)
{b=x;}
void showY()
{cout<<"b="<<b<<endl;}
};
class Z:public X,private Y{
int c;
public:
void setZ(int x,int y)
{ c=x;
setY(y);
}
void showZ()
{ showY();
cout<<"c="<<c<<endl;
}
};
void main()
{ Z obj;
obj.setX(3);
obj.showX();
obj.setY(4);
obj.showY();
obj.setZ(6,8);
obj.showZ();
}
(3)找出下列程序错误,并改正
#include<iostream.h>
class A
{ int x;
public:
A(int a):x(a) {cout<<"constructing A";}
};
class B:public A
{
public:
B(){ cout<<"constructing B";}
};
void main()
{
B b;
} 展开
#include<iostream.h>
class base {
int x;
public:
void setx(int n)
{x=n;}
void showx()
{cout<<x<<endl;}
};
class derived: base{
int y;
public:
void setxy(int n,int m)
{ setx(n);
y=m; }
void showxy()
{ cout<<x<<;
showx();
cout<<y<<endl;
}
};
main()
{ derived obj;
obj.setx(10);
obj.showx();
obj.setxy(20,30);
obj.showxy();
return 0;
}
(2)
#include <iostream.h>
class X{
int a;
public:
void setX (int x)
{a=x;}
void showX()
{cout<<"a="<<a<<endl;}
};
class Y{
int b;
public:
void setY( int x)
{b=x;}
void showY()
{cout<<"b="<<b<<endl;}
};
class Z:public X,private Y{
int c;
public:
void setZ(int x,int y)
{ c=x;
setY(y);
}
void showZ()
{ showY();
cout<<"c="<<c<<endl;
}
};
void main()
{ Z obj;
obj.setX(3);
obj.showX();
obj.setY(4);
obj.showY();
obj.setZ(6,8);
obj.showZ();
}
(3)找出下列程序错误,并改正
#include<iostream.h>
class A
{ int x;
public:
A(int a):x(a) {cout<<"constructing A";}
};
class B:public A
{
public:
B(){ cout<<"constructing B";}
};
void main()
{
B b;
} 展开
2个回答
展开全部
1、
#include <iostream>
using namespace std;
class base{
public:
base(){
setx(x);
}
void setx(int n){
x=n;
}
void showx(){
cout <<x<<endl;
}
private:
int x;
};
class derived:public base{
public:
void setxy(int n,int m){
setx(n);
y=m;
}
void showxy(){
showx();//x是base中的私有成员,不可调用。
cout <<y<<endl;
}
private:
int y;
};
int main()
{
derived obj;
//obj.setx(10); 此处为用户程序,obj不可访问base中的成员
//obj.showx();
obj.setxy(20,30);
obj.showxy();
return 0;
}
2、
#include <iostream>
using namespace std;
class X{
public:
void setX(int x){
a=x;
}
void showX(){
cout <<"a="<<a<<endl;
}
private:
int a;
};
class Y{
public:
void setY(int x){
b=x;
}
void showY(){
cout <<"b="<<b<<endl;
}
private:
int b;
};
class Z:public X,private Y{
public:
void setZ(int x,int y){
c=x;
setY(y);
}
void showZ(){
showY();
cout<<"c="<<c<<endl;
}
private:
int c;
};
int main(){
Z obj;
//obj.setX(3);
//obj.showX();
//obj.setY(4);
//obj.showY();
obj.setZ(6,8);
obj.showZ();
return 0;
}
#include <iostream>
using namespace std;
class base{
public:
base(){
setx(x);
}
void setx(int n){
x=n;
}
void showx(){
cout <<x<<endl;
}
private:
int x;
};
class derived:public base{
public:
void setxy(int n,int m){
setx(n);
y=m;
}
void showxy(){
showx();//x是base中的私有成员,不可调用。
cout <<y<<endl;
}
private:
int y;
};
int main()
{
derived obj;
//obj.setx(10); 此处为用户程序,obj不可访问base中的成员
//obj.showx();
obj.setxy(20,30);
obj.showxy();
return 0;
}
2、
#include <iostream>
using namespace std;
class X{
public:
void setX(int x){
a=x;
}
void showX(){
cout <<"a="<<a<<endl;
}
private:
int a;
};
class Y{
public:
void setY(int x){
b=x;
}
void showY(){
cout <<"b="<<b<<endl;
}
private:
int b;
};
class Z:public X,private Y{
public:
void setZ(int x,int y){
c=x;
setY(y);
}
void showZ(){
showY();
cout<<"c="<<c<<endl;
}
private:
int c;
};
int main(){
Z obj;
//obj.setX(3);
//obj.showX();
//obj.setY(4);
//obj.showY();
obj.setZ(6,8);
obj.showZ();
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询