实验二
更新时间:2024-04-19 18:59:01 阅读量: 综合文库 文档下载
实验二 C++基础 实验目的
类定义;类对象使用;类成员变量、成员函数的定义和使用;观察类的组合使用;理解类的作用域;理解类的声明;理解类中 private 和 public 权限;掌握拷贝构造函数的定义和使用;掌握构造函数的重载;掌握析构函数的定义和使用;理解构造函数和析构函数的执行过程
实验过程设计.1.// 试设计一个复数类,该类有实部和虚部两个成员数据,成员数据采用私有访问权限,同时该
类有两个共有成员函数,//分别用来设置成员数据和输出成员数据,//在主函数中分别采用对象方式,指针方式和引用方式来调用该类的公有函数设置和输出成员数据。 #include
Complex m; m.Init(3,1);
cout<<\p->Init(3,1);
cout<<\q.Init(3,1);
cout<<\void Init(double x,double y ) a=x; b=y;
double Real(){return a;}; double Image(){return b;}; int a; int b;
private:
Complex *p=&m;
Complex &q=m;
}
/*2 .设计实现一个 CPoint 类,满足以下要求:
a . 该类包含两个整型成员变量 x (横坐标)和 y (纵坐标),以及一个输出函数 Print() 用来输出横坐标和纵坐标,要求不可以在类的外部直接访问成员变量;
b .可以采用没有参数的构造函数初始化对象,此时的成员变量采用默认值 0 ;
c .可以采用直接输入参数的方式来初始化该类的成员变量;
d .可以采用其它的 CPoint 对象来初始化该类的成员变量; e .设计一个主函数来测试以上功能。*/ #include
void print(); CPoint(){x=0;y=0;} point(int x1,int y1); // int GetX() {return x;} // int GetY() {return y;} private: int x; int y; };
void CPoint::print() { cout< CPoint::point(int x1,int y1) { x=x1; y=y1; } void main() { CPoint p; CPoint(); p.print(); p.point(1,2); p.print(); // p.GetX(); // p.GetX(); } 3 .设计一个 CStudent (学生)类,并使 CStudent 类具有以下特点: a .该类具有学生姓名、学号、程序设计、信号处理、数据结构三门课程的成绩; b .学生全部信息由键盘输入,以提高程序的适应性; c .通过成员函数统计学生平均成绩,当课程数量增加时,成员函数无须修改仍可以求取平均成绩; d .输出学生的基本信息、各科成绩与平均成绩; e .学生对象的定义采用对象数组实现; f .统计不及格学生人数。 #include #include void setstudent(char *name,char *sn,float score[N]); void showstudent(); private: }; void CStudent :: setstudent(char *name,char *sn,float score[N]) { } void CStudent ::showstudent() { } void main() int i; cout< cout< Score[i]=score[i]; count++; } for(i=0;i<3;i++) { } Avg=Sum/count; Sum=Sum+Score[i]; char Sname[10]; char Sno[8]; float Score[3]; float Avg; float Sum; int count; { int i,j,k=0; char name[10],no[8]; float score[N]; for(j=1;j<=M;j++) { cout<<\ \ cin>>name; cout<<\ \cin>>no; cout<<\ \for(i=0;i cin>>score[i]; CStudent S1; cout<<\ cout< S1.setstudent(name,no,score); S1.showstudent(); if(score[i]<60) } k++; cout<<\不及格人数:\} 4 .设计一个用于人事管理的员工类(employee),包含的成员变量有:编号、性别、出生日期、身份证号码等,成员函数有:构造函数、析构函数、拷贝构造函数、员工基本信息输出函数等。其中,编号用字符数组,身份证号码用字符指针,出生日期为日期类的对象 #include void CStudent :: setstudent(char *name,char *sn,float score[N]) { } void CStudent ::showstudent() { } int i; cout< cout< Score[i]=score[i]; count++; } for(i=0;i<3;i++) { } Avg=Sum/count; Sum=Sum+Score[i]; void setstudent(char *name,char *sn,float score[N]); void showstudent(); char Sname[10]; char Sno[8]; float Score[3]; float Avg; float Sum; int count; private: void main() { } int i,j,k=0; char name[10],no[8]; float score[N]; for(j=1;j<=M;j++) { cin>>name; cout<<\ \cin>>no; cout<<\ \for(i=0;i cin>>score[i]; CStudent S1; cout<<\ cout< k++; cout<<\ \ S1.setstudent(name,no,score); if(score[i]<60) cout<<\不及格人数:\ (二)、程序理解: 第一题:一个复数的实部和虚部是私有的数据成员,外部函数不能访问它们,通过公有的成员函数访问私有的数据成员。在一个类里面,它的通过指向对象的指针和引用访问对象中的成员。 第二题:构造函数和类名相同,但构造函数不能有返回值,且构造函数的形参可以是任何类型的,采用没有参数的构造函数初始化对象时,在定义构造函数时,直接赋值为0;采用其它的 CPoint 对象来初始化该类的成员变量,可以访问私有数据成员。 第三题;在该题中,存在静态数据成员,使该类的所有对象即所有的学生都可以访问该静态成员,从而实现了同一个类的不同对象之间的数据共享。 第四题: 在该题中,一个类的类型可以用作另一个类成员的类型,构造函数可以实现重载、析构函数不能实现重载,但析构函数和构造函数都不能有返回值,所以一个类中只能有一个析构函数,可以有多个构造函数;拷贝构造函数实现把一个已存在的对象初始化另一个对象。
正在阅读:
实验二04-19
厦漳泉区域合作与加快漳州港口经济发展研究04-18
外文翻译 土建07-11
土方开挖工程专项施工方案06-11
MULE - ESB部署手册10-15
最新2017版二年级上册语文生字表组词07-11
1571+2021年畜禽养殖污染防治规划实施方案-05-07
奇门遁甲择吉(择日法)05-29
《牛顿第三定律》说课稿及教学反思优秀6篇03-22
调频收音机原理框图11-10
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 实验
- 专题学习--有理数的简便运算
- 塔吊拆除工作联系单
- 浅谈中国现代文学中的婚姻观
- K0+182拆除扣轨施工方案 - 图文
- 数学文化作业答案(全正确答案) - 图文
- 重庆西部新城
- 砌筑工考试试题
- 借助jclasslib与javassist修改java+class字节码
- 建筑公司资料员岗位职责
- 气相色谱-质谱(GC-MS)法对苯系物的分离分析
- 管槽线缆容量对照表
- 4款世界顶级袖珍迷你便携望远镜对比评测- 巅峰对决
- EQ均衡器各频段详解+调试方法
- 《琵琶行》情景默写及答案
- 中考英语作文抢分强化训练
- 2008年全国各地20套高考卷分类汇编 - 非谓语动词
- 应收应付管理
- 体育特色课程实施方案
- 结核病防治管理制度
- 2011年新版3年高考2年模拟 第十八章:电学实验 - 图文