帮我分析一道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 啊 展开
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 啊 展开
3个回答
展开全部
你好!!!
分析如下:要是不是很理解我们在交流
#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;
}
分析如下:要是不是很理解我们在交流
#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;
}
展开全部
#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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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),调用两个不同的构造函数。。。。
程序就这个意思 ,说的应该算很详细了吧 (程序里面有点小错误!!)
{
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),调用两个不同的构造函数。。。。
程序就这个意思 ,说的应该算很详细了吧 (程序里面有点小错误!!)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询