C++分析下列程序,指出错误的地方并予以改正,在线等,谢谢啦

6.找出下面程序中的错误并说明理由。classbase{protected:intp;};voidfun(){baseb;intx=b.p;}7.分析下列程序,指出错误的... 6. 找出下面程序中的错误并说明理由。
class base{
protected:
int p;};
void fun()
{
base b;
int x=b.p;
}

7. 分析下列程序,指出错误的地方并予以改正。
class base{
public:
int b;};
class base1:public base{ }
class base2:public base{ }
class derived:public base1:public base2{
public:
int f();
};
main()
{
derived d;
d.b();
d.base::b;
}

8. 如果希望下列程序的运行结果如下,请将程序补充完整。
Base¢s cons.
Derived¢s cons.
Derived¢s des.
Base¢s des.
class Base{
public:
Base(){cout<< “Base¢s cons.”<<endl;}
{cout<< “Base¢s des.”<<endl;}
};
class Derived:public Base{
public:
Derived(){cout<< “Derived¢s cons.”<<endl;}
~Derived(){cout<< “Derived¢s des.”<<endl;}
};
void main()
{ Base *ptr=
delete ptr;}
8. 如果希望下列程序的运行结果如下,请将程序补充完整。
Base¢s cons.
Derived¢s cons.
Derived¢s des.
Base¢s des.
class Base{
public:
Base(){cout<< “Base¢s cons.”<<endl;}
__________________________{cout<< “Base¢s des.”<<endl;}
};
class Derived:public Base{
public:
Derived(){cout<< “Derived¢s cons.”<<endl;}
~Derived(){cout<< “Derived¢s des.”<<endl;}
};
void main()
{ Base *ptr= _______________________
delete ptr;}
麻烦说下第6怎么改,第8刚才没写清楚,麻烦再看下。。。
展开
 我来答
高金山
2008-06-25 · TA获得超过1万个赞
知道大有可为答主
回答量:4101
采纳率:0%
帮助的人:1705万
展开全部
6、
int x=b.p;
这句错,不能访问保护类型的成员

7、
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>

class base{
public:
int b;};
class base1:public base{ };//类定义的结束要有分号
class base2:public base{ };//类定义的结束要有分号
class derived:public base1,public base2//两个public之间要用逗号而不是冒号
{
public:
int f();
};
main()
{
derived d;
//d.b(); //b是数据成员,不能当函数进行调用
d.base1::b;//d.base::b; //b有二义性,应该指明是base1的还是base2的
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式