C++之继承性和派生类(练手题)

继承性C++的一个重要特性,这个性质在C语言中是没有的

建立一个楼房基类Building为基类,用于存储地址和楼号,建立住宅类House继承Building,
用来存储房号和面积,另外建立办公室类Office继承Building,存储办公室名称和电话号码。
基本要求:
编制应用程序,建立住宅和办公室对象测试之并输出有关数据提交程序。

  • 代码:

#include<iostream>
#include<string>
#include<stdlib.h>
using namespace std;

class Building
{
public:
	void Buildings(string ad, int h_num)
	{
		address = ad;
		house_num = h_num;
	}
	void output()
	{
		cout <<"地址为:"<< address << endl;
		//getline(cin, address);
		cout <<"楼号为:"<<house_num << endl;
	}
protected:
	string address;             //地址
	int house_num;              //楼号
};


class House:public Building
{
public:
	void Houses(int r_num, int ar)
	{
		room_num = r_num;
		area = ar;
	}
	void output()
	{
		cout <<"房号:"<<room_num << endl;
		cout <<"面积:"<<area <<"平方米"<< endl;
	}
protected:
	int room_num;          //房号
	int area;               //面积
};

class Office:public Building
{
public:
	void Offices(string of_name, string tel)
	{
		office_name = of_name;
		tel_num = tel;
	}
	void output()
	{
		cout << "办公室名称:" << office_name << endl;
		cout << "电话号码:" << tel_num << endl;
	}
protected:
	string office_name;		//办公室名称
	string tel_num;			//电话号码
};


int main()
{
	Building building;
	House house;
	Office office;

	building.Buildings("黄赤交角", 4);
	building.output();

	house.Houses(308,149);
	house.output();

	office.Offices("退学办公室","123456");
	office.output();

	system("pause");
	return 0;
}

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.声明一个动物基类Animal,私有整型成员变量年龄age,请定义一个派生类Dog,在其成员函数SetAge(int n)中直接给age赋值,测试下看是否会出问?如何解决? 2.设计一个单基继承层次程序,用Person派生出Student,增加属性学index和年级level。Person中至少有姓名name、年龄age等数据成员,以及构造函数、输出函数等,其余成员函数根据需要添加。在主函数中进行测试。 3.定义一个学生Student和教师Teacher,学生有姓名name、学index等数据成员,教师有姓名name、工作证workID、职称title、课程course、周学时hoursPerWeek等数据成员。再定义一个助教TeachingAssistant,多继承于学生和教师,该可以使用学生的全部数据成员,以及教师的课程和周学时数据成员。要求:每个提供自定义的构造函数和析构函数,并通过同名函数ShowInfo来显示全部数据成员的值。在主函数中进行测试。 4.声明一个Person,包含姓名name和年龄age等私有数据成员以及相关的成员函数;由它派生出领导Leader,包含职务position和部门department私有数据成员以及相关的成员函数;再由Person派生出工程师Engineer,包含职务position和专业speciality私有数据成员以及相关的成员函数;再由Leader和Engineer派生出主任工程师Chairman。在主函数中测试各对象初始化和信息输出,查看是否会出问?如何解决?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值