面向对象程序设计实验报告(6)

2018-12-19 22:02

{

Cout<<”A=”<

int M::B=0; int main() {

M P(5),Q(10); M::f1(P); M::f1(Q); Return 0; }

三.实验结果

四.心得体会

1.静态数据成员主要用作类的所有对象所公用的数据,它在类的任何对象建立前就存在了。

2.一般情况下,静态成员函数来访问静态数据成员。

第四章

一.实验目的

1.掌握派生类的继承方式。

2.掌握派生类构造函数和析构函数。

3.掌握派生类构造函数和析构函数的执行顺序。 二.实验内容

4.15 写出下列程序的运行结果。 #include using namespace std; class B1{ int b1; public: B1(int i) { b1=i;

cout<<”constructor B1.”<

Void print() {

cout<

class B2{ int b2; public: B2(int i) { B2=i;

cout<<”constructor B2.”<

Void print() {

cout<

class B3{ int b3; public: B3(int i) { B3=i;

cout<<”constructor B3.”<

int getb3() {

return b3; } };

class A :public B2,public B1{ int a; B3 bb; public:

A(int i,int j,int k,int l):B1(i),B2(j),bb(k) {a=1;

cout<<”constructor A.”<

void print() {

B1::print(); B2::print();

cout<

int main() {

A aa(1,2,3,4); aa.print(); return 0; }

三.实验结果

四.心得体会

1.派生类继承了基类的成员,实现了原有代码的重用,但是基类的构造函数和析构函数不能被继承,对所有从基类继承下来的成员初始化工作还是由基类构造函数完成,但是我们必须在派生类中对基类的构造函数所需要的参数进行设置。

2.构造函数的执行顺序严格地按照先调用基类的构造函数后调用派生类的构造函数。

第五章

一.实验目的

1.掌握虚函数的使用。 二.实验内容

5.13 下面的程序段中虚函数被重新定义的方法正确吗?为什么? class base { Public:

virtual int f(int a)=0; .... };

class derived:public base { public:

int f(int a,int b) {

return a*b; } ....... };

三.实验结果

答:虚函数被重新定义的方法不正确,因为虚函数被重新定义时参数类型和参数个数不能改变。

四.心得体会

虚函数是重载的另一种方式,是动态的,它提供了一种更为灵活的运行时的多态性的机制。


面向对象程序设计实验报告(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:西工大18春《管理信息系统》在线作业

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: