帮我分析一道C++程序题、

#include<iostream>usingnamespacestd;classBase{intx;public:Base(intn=0):x(n){cout<<n;}... #include <iostream>
using namespace std;
class Base{
int x;
public:
Base(int n=0):x(n) {cout<<n;}
int getX() const {return x;}
};
class Derived: public Base{
int y;
public:
Derived(int m,int n):y(m,)Base(n){cout<<m;}
Dereved(int m):y(m){cout<<m;}
};
int main(){
Derived d1(3),d2(5,7)
return 0;
}
答案知道了,主要每个句子什么意思,都分析哈
答案为 0375 啊
展开
 我来答
猪头或火宝宝
2010-09-11 · TA获得超过2758个赞
知道小有建树答主
回答量:1001
采纳率:0%
帮助的人:1529万
展开全部
你好!!!
分析如下:要是不是很理解我们在交流
#include <iostream>
using namespace std;

class Base//定义一个基类
{
int x;//基类的私有成员
public://基类的公有成员

Base(int n=0):x(n) //还有默认实参的构造函数,
//x(n)用初始化列表的方式给类的成员赋值
{
cout<<n;//输出类的私有成员
}

int getX() const //定义一个带有返回整形数据的函数,
//并且函数是const说明此函数只能使用数据成员而不能改变其值
{
return x;//返回私有成员
}
};

class Derived: public Base//定义Base的派生类
{
int y;//派生类自己定义的私有成员,
//其实Derived类有两个私有成员1.y,2,x
public:

Derived(int m,int n):y(m),Base(n)//定义一个含有两个形参的构造函数,同时用初始化列表的方式
//初始化自己的成员和基类的成员
{
cout<<m;
}

Derived(int k):y(k)//定义一个还有一个形参的构造函数,他于上面的是构造函数/
//构成重载,就是根据声明对象的时候给出实参的个数来调用哪个构造函数
{
cout<<k;
}
};

int main()
{
Derived d1(3);//定义一个对象,同时只给出一个实参,那么系统调用的是第二个构造函数
//同时基类的成员也会调用自己的构造函数,此时基类的成员的值是默认的即0
//所以会输出0 3

Derived d2(5,7);//定义一个对象,同时给出2个实参,那么系统调用的是第一个构造函数
//同时基类的成员也会调用自己的构造函数,但是此时给的实参的值是7
//所以会输出5 7
//总体的输出就是0357

return 0;
}
zhangchaozh
2010-09-11 · TA获得超过318个赞
知道答主
回答量:146
采纳率:0%
帮助的人:0
展开全部
#include <iostream> 包含头文件
using namespace std; 使用名字空间std
class Base{
int x;
public:
Base(int n=0):x(n) {cout<<n;} 构造函数,默认参数n=0,令x=n
int getX() const {return x;} 成员函数,返回x的值
};
class Derived: public Base{ Derived,公共继承于Base
int y;
public:
Derived(int m,int n):y(m,)Base(n){cout<<m;} 构造函数,y=m,x=n
Dereved(int m):y(m){cout<<m;} 构造函数(重载)
};
int main(){
Derived d1(3),d2(5,7) 应该输出0,3,7,5,(先构造基类再构造派生类)
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
s07141441
2010-09-11 · 超过20用户采纳过TA的回答
知道答主
回答量:116
采纳率:0%
帮助的人:66.7万
展开全部
class Base
{
int x;
public:
Base(int n=0):x(n) {cout<<n;}
int getX() const {return x;}
};
定义了一个基类,类名Base,它有自己的私有成员变量x,接受一个整形参数的构造函数和一个公有存取器函数getX(),作用是返回x的值;

class Derived: public Base{
int y;
public:
Derived(int m,int n):y(m,)Base(n){cout<<m;}
Dereved(int m):y(m){cout<<m;}
};
声明了子类Derived,它是从基类Base继承而来的,该子类也有一个自己的私有成员变量y,并且有一个接受两个参数的构造函数Derived(int m,int n),并用m的值对y进行初始化,并输出m的值;另外重载的一个只接受一个参数的构造函数Derived(int m),同样用参数值对y初始化,同样输出m的值

int main(){
Derived d1(3),d2(5,7)
return 0;
}
主函数中 分别创建了 两个 Derived类的对象 d1(3),d2(5,7),调用两个不同的构造函数。。。。

程序就这个意思 ,说的应该算很详细了吧 (程序里面有点小错误!!)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式