实验三类的继承机制。
上机要求:学会类的继承机制的各种模型和三种继承方式,掌握继承成员的访问控制规则,赋值兼容规则和恢复访问控制权限的方法,派生类的构造函数与析构函数的使用等,并能利用继承手段解决实际问题。
一、讲解与演示。
例1:阅读和运行下列程序,体会赋值兼容规则。
#include<>
class base
public:
void setx(int i)
int getx()
private:
int x;
class derived:public base
public:
void sety(int i)
int sety()
private:
int y;
void main()
base *p;
base bob;
derived dob;
p=&bob;
p->setx(11);
cout<<"base object x:" p->setx(55); cout<<"derived object x:" cout<<"derived object y:"< 例2:用继承机制解决实际问题。 建立一般的基类building,用来存储一座楼房的层数,房间数以及它的总面积数;建立派生类housing,继承building,并存储下面的内容:卧室和浴室的数量,另外,建立派生类officebuilding,继承building,并存储灭火器和**的数目。然后编制应用程序,建立住宅楼对象和办公楼对象,并输出它们的有关数据。 #include<> class building public: building(int f,int r,double ft) floors=f; rooms=r; footage=ft; void show() cout<<"floors:" protected: int floors; int rooms; double footage; class housing:public building public: housing(int f,int r,double ft,int bd,int bth):building(f,r,ft) bedrooms=bd; bathrooms=bth; void show() cout<<"nhousing:"; building::show(); cout<<"bedrooms:" private: int bedrooms; int bathrooms; class officebuilding:public building public: officebuilding(int f,int r,double ft,int ph,int ex):building(f,r,ft) phones=ph; extinguishers=ex; void show() cout<<"nofficebuilding:"; building::show(); cout<<"phones:" private: int phones; int extinguishers; void main() housing hob(5,7,140,2,2); officebuilding oob(8,12,550,12,2); 二、上机内容。 请编写一个复数类complex和一个实数类real;将real类定义为complex类的子类;然后设计一个求解一元二次实系数方程的根的类root;并编写一个主函数加以演示。 #include <> #include <> #include <> class complex public: complex(double r=0,double i=0) virtual void print(); protected: double re,im; private: class real:public complex public: real(double r=0):complex(r,0) void print() protected: private: class root public: root(double m1,double m2,double m3) void print(); void solve(); protected: double a,b,c; private: void complex::print() cout<<" void root::print() cout<<"方程"; cout< cout< cout<<"x*x"; cout< cout< cout<} void root::solve() print(); cout<<"的解是:" if(fabs(delta)<1e-5) else if (delta>0) elsevoid main() double a,b,c; cout<<"n请输入一元二次方程的三个系数a,b,c: " cin>>a>>b>>c; root rot (a,b,c); wd01 上万北京市民云集人民大会堂聆听新年 上万北京市民选择在人民大会堂 这个象征着国家最高权力机关所在地度过了本世纪最后的时光。在人民大会堂宴会厅 这个通常举行国宴的地方,当新世纪钟声敲响的时候,数千名参加 世纪之约 大型新年 舞会的来宾停住了他们的舞步,欢呼声响彻七千多平方米的富丽堂皇的宴会大... 一 进入调试环境。1 进入dos环境 启动菜单中选择 然后进入最后一个盘中,如d盘 c d enter 建议大家的文件都建立在最后一个盘,如d盘,如果建在c 计算机重启后会被系统自动删除。2 运行鼠标驱动程序d mouse 3 编辑汇编源文件 d edit 4 编译 d tasm 5 链接 d tl... 实验2与实验3上机参考题。1.输入一个字符,判断它是否是小写字母,是小写字母,则将它转换成大写字母,如果不是,则不转换,然后输出所得到字符。include main char ch printf enter a character to ch scanf c ch输入字符ch if ch a ch ...上机实验作业 3 材料
第3次上机实验
实验2与实验3上机题