找出下面程序中的错误,改正,并运行得到输出结果。

(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;
}
展开
 我来答
wy_xq_z
推荐于2016-04-14 · 超过13用户采纳过TA的回答
知道答主
回答量:22
采纳率:0%
帮助的人:29.6万
展开全部
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;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pouzhua16
2011-06-21 · TA获得超过506个赞
知道小有建树答主
回答量:706
采纳率:0%
帮助的人:0
展开全部
代码问题多;修正后如下:(注意:下面的base类和derived类分别放在两个头文件中,后面的主程序放在一个cpp文件中。base.h , derived.h , begin.cpp)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式