- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]面向对象程序设计模拟题
阅读程序,写出程序的执行结果。
1
#include iostream
using namespace std;
class B0
{
public: virtual void display()
{ cout “B0::display()” endl; }
};
class B1: public B0
{
public: void display()
{ cout “B1::display() ” endl; }
};
class D1: public B1
{
public: void display()
{ cout “D1::display()” endl; }
};
void fun(B0 *ptr)
{
ptr-display();
}
void main()
{
B0 b0, *p;
B1 b1;
D1 d1;
p = b0;
fun(p);
p = b1;
fun(p);
p = d1;
fun(p);
}
程序运行结果为:
B0::display()
B1::display()
D1::display()
2
#include iostream
using namespace std;
class B1 //基类B1,构造函数有参数
{
public:
B1(int i) {coutconstructing B1 iendl;}
};
class B2 //基类B2,构造函数有参数
{
public:
B2(int j) {coutconstructing B2 jendl;}
};
class B3//基类B3,构造函数无参数
{
public:
B3(){coutconstructing B3 *endl;}
};
class C: public B3, public B2, public B1 //派生新类C
//注意基类名的顺序
{
public://派生类的公有成员
C(int a, int b, int c, int d):B1(a),memberB2(d),memberB1(c),B2(b){ }
private: //派生类的私有对象成员
B2 memberB2;
B1 memberB1;
B3 memberB3;
};
void main()
{
C obj(1,2,3,4);
}
程序运行结果为:
constructing B3 *
constructing B2 2
constructing B1 1
constructing B2 4
constructing B1 3
constructing B3 *
设计一个Point类,该类的私有成员变量X,Y存放的是Point的坐标,Point类具有复制构造函数。请阅读下面不完整的程序,完成下面两项要求:
(1)在题目的横线处补充适当的语句。(每空1分,共2分)
(2)并写出该程序的输出。(6分)
#include iostream
using namespace std;
class Point
{
public: Point(int xx=0, int yy=0) { X = xx; Y = yy;} // 构造函数
Point(Point p); //复制构造函数的声明
int GetX() { return X;}
int GetY() { return Y;}
private: int X,Y; // 私有数据
};
// 复制构造函数的实现
Point::Point(Point p)
{
;
;
cout 复制构造函数被调用 endl;
}
// 形参为Point类的对象的函数
void fun1(Point p)
{ cout X和Y的坐标: p.GetX() ,p.GetY()endl;
}
// 返回值为Point类的对象的函数
Point fun2()
{
Point A(2, 3);
return A;
}
// 主程序
void main()
{
Point A(4,5); // 第一个对象A
Point B(A);
cout X和Y的坐标: B.GetX(),B.GetY() endl;
fun
原创力文档


文档评论(0)