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

(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();
}
展开
 我来答
wy_xq_z
2011-06-21 · 超过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;

}

nohh
2011-06-21 · TA获得超过242个赞
知道小有建树答主
回答量:635
采纳率:0%
帮助的人:350万
展开全部
//1:
#include<iostream>
using namespace std;
class base {
int x;
public:
void setx(int n)
{x=n;}
void showx()
{cout<<x<<endl;}
};
class derived:public base{
int y;
public:
void setxy(int n,int m)
{ setx(n);
y=m; }
void showxy()
{
showx();
cout<<y<<endl;
}
};
int main()
{
derived obj;
obj.setx(10);
obj.showx();
obj.setxy(20,30);
obj.showxy();
return 0;
}
//2
#include <iostream>
using namespace std;
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,public 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();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rexiang88
2011-06-21 · TA获得超过181个赞
知道小有建树答主
回答量:688
采纳率:0%
帮助的人:405万
展开全部
代码问题多;修正后如下:(注意:下面的base类和derived类分别放在两个头文件中,后面的主程序放在一个cpp文件中。base.h , derived.h , begin.cpp)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式