c++实验3 派生类与继承1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三派生类与继承
一、实验目的
1、学习类的继承,能够定义和使用类的继承关系。
2、学习派生类的声明与定义方法。
3、掌握类的定义和对象的声明。
4、熟悉公有派生和私有派生的访问特性。
5、掌握派生类构造函数和析构函数的执行顺序。
6、掌握利用访问声明调整基类成员在派生类中的访问属性。
二、试验内容
1、下面的程序可以输出ASCII字符与所对应的数字的对照表。修改下列程序,使其可以输出字母a到z(或任意两个字符间)与所对应的数字的对照表。class table
{
public:
table(int p)
{
i=p;
}
void ascii(void);
protected:
int i;
};
void table::ascii(void)
{
int k=1;
for (;i<127;i++)
{
cout< if((k)%12==0) cout<<"\n"; k++; } cout<<"\n"; } class der_table:public table { public: der_table(int p,char *m):table(p) c=m; } void print(void); protected: char *c; }; void der_table::print(void) { cout< table::ascii(); } int main() { der_table obl(32,"ASCII value---char"); obl.print(); return 0; } 提示:修改后的主程序为: int main() { der_table ob('a','z',"ASCII value---char"); ob.print(); return 0; } 修改后的程序:(蓝色字体为改动处) #include using namespace std; #include class table { public: table(int p) { i=p; } void ascii(void); protected: int i; }; void table::ascii(void) { int k=1; for (;i<=122;i++) cout< if((k)%13==0) cout<<"\n"; k++; } cout<<"\n"; } class der_table:public table { public: der_table(int p,char *m):table(p) { c=m; } void print(void); protected: char *c; }; void der_table::print(void) { cout< table::ascii(); } int main() { der_table obl(97,"ASCII value---char"); obl.print(); return 0; } 实现结果: 2、已有类Time和Date,要求设计一个派生类Birthtime,它继承类Time和Date,并且增加一个数据成员Childname用于表示小孩的名字,同事设计主程序显示一个小孩的出生时间和名字。 class Time { public: Time(int h,int m, int s) { hours=h; minutes=m; seconds=s; } void display() { cout<<"出生时间:"< } protected: int hours,minutes,seconds; }; class Date { public: Date(int m,int d,int y) { month=m; day=d; year=y; } void display() { cout<<"出生年月:"< } protected: int month,day,year; }; 实现程序如下: #include using namespace std; #include class Time { public: Time(int h,int m, int s) { hours=h; minutes=m; seconds=s; } void display() { cout<<"出生时间:"< } protected: int hours,minutes,seconds; }; class Date { public: Date(int mo,int d,int y) { month=mo; day=d; year=y; } void display() { cout<<"出生年月:"<