1 / 10

C++ 语言程序设计实验指南

江西师范大学精品课程. C++ 语言程序设计实验指南. 揭安全. E_mail: jieanquan@163.com QQ:461254151. 江西师范大学计算机信息工程学院. 江西师范大学精品课程. 1. 实验1 开发环境与简单C++程序设计. 2. 实验2 函数的应用. 3. 实验3 类与对象. 4. 实验4 C++程序的结构. 5. 实验5 数组、指针与实符串. 6. 实验6 继承与派生. 7. 实验7 多态性. 8. 实验8 群体类. 9. 实验9 输入输出流. 10. 实验10 异常处理. 实验 6.

Download Presentation

C++ 语言程序设计实验指南

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 江西师范大学精品课程 C++语言程序设计实验指南 揭安全 E_mail: jieanquan@163.com QQ:461254151 江西师范大学计算机信息工程学院

  2. 江西师范大学精品课程 1 实验1 开发环境与简单C++程序设计 2 实验2 函数的应用 3 实验3 类与对象 4 实验4 C++程序的结构 5 实验5 数组、指针与实符串 6 实验6 继承与派生 7 实验7 多态性 8 实验8 群体类 9 实验9 输入输出流 10 实验10 异常处理

  3. 实验6 揭安全 jieanquan@163.com 江西师范大学计算机信息工程学院

  4. 一、实验目的 • 1.学习定义和使用类的继承关系,定义派生类。 • 2.熟悉不同继承方式下对基类成员的访问控制。 • 3.学习利用虚基类解决二义性问题。

  5. 二、实验任务 • 1.定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程试试看。 • 2.定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。

  6. 二、实验任务 • 3.定义一个车(vehicle)基类,具有MaxSpeed、Weight等成员变量,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNum)等属性。从bicycle和motorcar派生出摩托车(motorcycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程试试看。

  7. 二、实验任务 • 4.(选做)从实验6中的people(人员)类派生出student(学生)类,添加属性:班号char classNO[7];从people类派生出teacher(教师)类,添加属性:职务char principalship[11]、部门char department[21]。从student类中派生出graduate(研究生)类,添加属性:专业char subject[21]、导师teacher adviser;从graduate类和teacher类派生出TA(助教生)类,注意虚基类的使用。重载相应的成员函数,测试这些类。类之间的关系如图7—1所示。

  8. 二、实验任务 图7-1 实验任务4的类图

  9. 三、实验步骤 • 1.编写程序定义基类Animal,成员变量age定义为私有的。构造派生类dog,在其成员函数SetAge(int n)中直接对age赋值时,会出现类似以下的错误提示: • error C2248:’age’:cannot access private member declared in class’Animal’ • error C2248:’age’:cannot access private member declared in class’Animal’ • 把age改为公有成员变量后重新编译就可以了。程序名:lab7—1.cpp。 • 2.编写程序定义一个基类BaseClass,构造其派生类DerivedClass,在构造函数和析构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况。程序名:lab7—2.cpp。

  10. 三、实验步骤 • 3.用debug功能跟踪程序lab7—2的执行过程,观察基类和派生类的构造函数和析构函数的执行情况。 • 4.编写程序定义一个车(vehicle)基类,由此派生出自行车(bicycle)类、汽车(motorcar)类,注意把vehicle派生为虚基类。再从bicycle和motorcar派生出摩托车(motorcycle)类,在main()函数中测试这个类。程序名:lab7—3.cpp。 • 编译成功后,把vehicle设置为非虚基类,再编译一次,此时系统报错,无法编译成功。这是因为若不把vehicle设置为虚基类,会出现二义性错误,程序不能成功编译。

More Related