类的定义(总结)_第1页
类的定义(总结)_第2页
类的定义(总结)_第3页
类的定义(总结)_第4页
类的定义(总结)_第5页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

定义类employee,要求包含数据成员:name和salary,name要求用于存储职工的姓名,salary用于存储职工的工资,定义对应的默认构造函数,析构函数和赋值运算符,并定义类的对象a和b,要求b使用a进行赋值(即,b调用赋值运算符函数将对象a的值赋给b)。要求:默认构造函数、析构函数和赋值运算符中都需要加入输出语句#include<iostream>usingnamespacestd;classEmployee{private: charname[80]; intsalary;public: Employee(char*s="",inta=0) { cout<<"Employee(char*s="",inta=0)"<<endl; strcpy(name,s); salary=a; } ~Employee() { cout<<"called~Employee()"<<endl; } Employee&Employee::operator=(constEmployee&r) { cout<<"Employee&Employee::operator=(constEmployee&r)"<<endl; strcpy(name,); salary=r.salary; return*this; } voidprint() { cout<<"name:"<<name<<""<<"salary:"<<salary<<endl; }};voidmain(){ Employeea("jom",20),b; a.print(); b=a; b.print();}在前一题的基础上定义company类,要求将employee的对象作为该类的数据成员,另外,company还包含一个数据成员name,用于存储公司的名称,定义对应的默认构造函数和析构函数,并且在主程序中定义company类的对象c,观察对象c的创建过程和析构过程。要求:默认构造函数、析构函数和赋值运算符中都需要加入输出语句#include<iostream>usingnamespacestd;classEmployee{private: charname[80]; intsalary;public: Employee(char*s="",inta=0) { cout<<"Employee(char*s="",inta=0)"<<endl; strcpy(name,s); salary=a; } ~Employee() { cout<<"called~Employee()"<<endl; } Employee&operator=(constEmployee&r) { cout<<"Employee&Employee::operator=(constEmployee&r)"<<endl; strcpy(name,); salary=r.salary; return*this; } voidprint() { cout<<name<<""<<salary<<endl; }};classCompany{ Employeep; charname[80];public: Company(Employeeq,char*m=""):p(q) { cout<<"Company(Employeeq,char*m=""):p(q)"<<endl; strcpy(name,m); } ~Company() { cout<<" ~Company()"<<endl; } voidprint() { p.print(); cout<<name<<endl; }};voidmain(){ Employeea("zhoudong",3200),b; a.print(); b=a; b.print(); Companyc(b,"apple"); c.print();}定义类fact,包含一个数据成员n,以及两个数据函数factn()和factsum(),factn()用于计算n!的值,而factsum()用于计算1!+2!+3!+……+n!的值,并将各个计算结果返回,要求在主函数中定义两个对象a(3)和b(5),调用相应的数据成员,并将计算结果输出#include<iostream>usingnamespacestd;classfact{ intn;public: fact(inta) { n=a; } intfactn() { cout<<"calledintfactn()"<<endl; intj=1; for(inti=1;i<=n;i++) { j*=i; } returnj;} intfactsum() { cout<<"calledintfactsum()"<<endl; intj=1,sum=0; for(inti=1;i<=n;i++) { j*=i; sum=sum+j; } returnsum;} voidPri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论