C++程序设计实验报告 本实验报告旨在帮助大学生更好地理解和掌握C++程序设计语言的基本概念和编程技巧,特别是构造函数、析构函数、拷贝构造函数和this指针的使用。 实验目的 1. 理解掌握this指针的作用和用法 2. 理解掌握构造函数的定义和作用 3. 掌握构造函数的使用 4. 理解掌握拷贝构造函数的定义和使用 5. 理解掌握构造函数的重载 6. 理解掌握析构函数的定义和使用 实验内容 ### 3.2.1 程序阅读 问题一:以上程序编译能通过吗?试解释该程序? 答案:编译能够通过,但是set函数里面的赋值有误,自己赋给自己。 问题二:以上程序的运行结构是否正确,如果不正确,试分析为什么,应该如何改正? 答案:不正确,set函数里面的变量名称和形参名称一样,需要this->x = x;this->y = y;。 ### 3.2.2 程序设计 设计实现一个 CPoint 类 要求: a.该类包含两个整型成员变量 x(横坐标)和 y(纵坐标),以及一个输出函数 Print()用来输出横坐标和纵坐标,要求不可以在类的外部直接访问成员变量; b.可以采用没有参数的构造函数初始化对象,此时的成员变量采用默认值 0; c.可以采用直接输入参数的方式来初始化该类的成员变量; d.可以采用其它的 CPoint 对象来初始化该类的成员变量; e.设计一个主函数来测试以上功能。 代码: ```cpp #include<bits/stdc++.h> using namespace std; typedef long long ll; class CPoint{ private: ll x,y; public: CPoint(ll x=0,ll y=0):x(x),y(y){} void Print(){ cout<<"x="<<x<<", y="<<y<<'\n'; } }; int main(){ CPoint cp1;//默认值 CPoint cp2(1,1);//赋值传参 CPoint cp3(2,2);// 其他对象声明 CPoint cp4 = cp3; cp1.Print(); cp2.Print(); cp4.Print(); return 0; } ``` ### 3.3 思考题 设计一个 CStudent(学生)类 要求: a.该类具有学生姓名、学号、程序设计、信号处理、数据结构五门课程的成绩; b.学生全部信息由键盘输入,以提高程序的适应性; c.通过成员函数统计学生平均成绩,当课程数量增加时,成员函数无须修改仍可以求取平均成绩; d.输出学生的基本信息、各科成绩与平均成绩; e.学生对象的定义采用对象数组实现; f.统计不及格学生人数。 代码: ```cpp #include<bits/stdc++.h> using namespace std; typedef long long ll; class CStudent{ private: string name,stu_num; int cur = 3; string subjects[10]={"程序设计","信号处理","数据结构"}; ll scores[10]; public: void input(){ cout<<"输入姓名和学号:\n"; cin>>this->name>>this->stu_num; cout<<"请分别输入各科目的成绩\n"; for(int i=0;i<this->cur;i++){ cout<<subjects[i]<<":"; int temp; cin>>temp; scores[i] = temp; } } double get_ave(){ double sum = 0; for(int i=0;i<cur;i++) sum+=scores[i]; return sum/cur; } void print(){ cout<<"姓名:"<<name<<endl; cout<<"学号:"<<stu_num<<endl; cout<<"成绩:"; for(int i=0;i<cur;i++) cout<<subjects[i]<<":"<<scores[i]<<" "; cout<<endl; cout<<"平均成绩:"<<get_ave()<<endl; } }; ``` 总结: 通过本实验,我们学习了C++程序设计语言的基本概念和编程技巧,包括构造函数、析构函数、拷贝构造函数和this指针的使用。此外,我们还设计了一个CPoint类和一个CStudent类,学习了类的设计和实现。


剩余7页未读,继续阅读























- 粉丝: 2w+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 软件产品用户使用报告.doc
- 数字图像处理第二章课件ppt课件.ppt
- 高层框剪结构商务楼项目管理策划书.ppt
- 2023年PLC应用技术课程工学一体化教学实施方案研究.doc
- 基于PLC的X62W万能铣床电气控制.doc
- 综合布线第4章.pptx
- 基于php的网上销售系统的设计与实现.doc
- 室外电力通信电缆的敷设施工.doc
- 计算机基础培训题目.docx
- 2023年办公软件二级考试判断题及答案.doc
- 湖南航天卫星通信科技有限公司(PPT).ppt
- 做个人简历的软件ppt模板.doc
- 网络拓扑图VISIO素材大全.ppt
- 竞盛保险经纪公司的项目管理研究.doc
- 网络营销之定价策略分析.pptx
- 动态规划算法实验报告.doc



评论0