上机 3.1 Coordinate 坐标
202130310075
标题1:上机目的:
1:了解类和对象的概念,掌握声明类和定义对象的方法。
2:掌握构造函数和析构函数的实现方法。
3:初步掌握使用类和对象编制C++程序。
标题2:上机要求:
创建一个类,完成以下功能
1:连续输入一组二维坐标。
2:二维坐标值的数目可以由用户自定义。(默认为2个)
3:显示用户输入的坐标。
4:显示用户输入坐标值的均值。
具体实现: 关于 类的 定义和声明
class Coordinate {public:Coordinate(){times = 2;cout << "Coordinate construction1 called!" << endl;}Coordinate(int times1) //用户自定义输入坐标的数目{times = times1;cout << "Coordinate construction2 called!" << endl;}~Coordinate(){cout << "Coordinate construction called!" << endl;}void InputCoord() //用户连续输入坐标值{for (int i = 0; i < times; i++){cout << "Please Input x:" << endl;cin >> Coord[i][1];cout << "Please Input y:" << endl;cin >> Coord[i][2];}}void ShowCoord() //用户显示坐标值{cout << "The coord is:" << endl;for (int i = 0; i < times; i++){cout << "(" << Coord[i][1] << "," << Coord[i][2] << ")" << endl;}}void ShowAvgCoord() //显示坐标的平均值{float avgx = 0;float avgy = 0;for (int i = 0; i < times; i++){avgx = avgx + Coord[i][1];avgy = avgy + Coord[i][2];}avgx = avgx / times;avgy = avgy / times;cout << "The AVG coord is:" << endl;cout << "(" << avgx << "," << avgy << ")" << endl;}
private:float Coord[100][100]; // 存放坐标的二维数组int times; // 坐标值数目
};
实验内容:
1:观察代码中构造函数和析构函数运行顺序。。
2:在main函数内加入 Coordinate y(5); y.InputCoord(); y.ShowCoord(); y.ShowAvgCoord();观察运行结果。
任务一:代码实现
Coordinate() //构造函数{cout << "Coordinate construction1 called!" << endl;}
~Coordinate() //析构函数{cout << "Coordinate construction called!" << endl;}
操作:在main函数中创建一个一个类对象,运行代码后观察字符输出情况。
结论:构造函数在类对象创建时运行,在main函数介绍后完成 析构函数。
任务二:代码实现
int main()
{Coordinate y(5);//创建一个名为y的类对象,含有5的坐标值。y.InputCoord(); 用户输入坐标值y.ShowCoord(); 显示用户输入的坐标值y.ShowAvgCoord(); 显示用户输入坐标值的平均值system("pause");return 0;
}
运行结果:
最后高级要求:
类似课堂所展示的代码:使用对象数组、赋值式定义、先定义后赋值、多重花括号赋值等,并简单总结/归纳这些方法中的构造和析构函数调用时刻和特点。
Coordinate(int times1) :times(times1 ) //冒号初始化{cout << "Coordinate construction2 called!" << endl;}
Coordinate arr[5]; //类对象数组
注意:构造函数后面的冒号就是初始化,而括号里面的等于号并不是初始化,而是变量生成以后的赋值而已。const和引用不可以被赋值,只能被初始化。
总结:
①构造函数和析构函数是在类体中说明的两种特殊的成员函数。
②构造函数的功能是在创建对象时,使用给定的值来将对象初始化。
③析构函数的功能是用来释放一个对象的。在对象删除前,用它来做一些清理工作,它与构造函数的功能正好相反。
上机3—1具体实验要求已经实现,感谢。
上机 3.1 Coordinate 坐标相关推荐
- 3.1 Coordinate 坐标 上机实验
#include<iostream> using namespace std; class Coordinate { //定义一个Coordinate类 public: Coordinat ...
- Coordinate坐标
实验目的: 1.理解类和对象的概念,掌握声明类和定义 对象的方法 2.掌握构造函数和析构西数的实现方法 3.逐步掌握使用类和对象编制C++程序 实验内容: 连续输入一组二维坐标值:二维坐标值的数目可以 ...
- Screen coordinate and Client Coordinat
Screen coordinate 坐标是原点在屏幕左上角 Client coordinate 坐标原点在应用软件窗口的左上角 int with= GetSystemMetrics(SM_CXFULL ...
- CV领域论文常用单词汇总
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 作者:王大东 来源:https://zhuanlan.zhihu.com/p/58 ...
- iPhone开发的一些小技巧
[转载]iPhone开发的一些小技巧 (2011-10-29 20:13:02) 转载原文 标签: 转载 原文地址:iPhone开发的一些小技巧作者:哈哈 一,修改状态栏: 1.加入[[UIAppli ...
- cad 快捷键命令大全
目录 符号键(CTRL开头) 控制键 组合键 功能键 换挡键 首字母 前两个字母 两个字母(间隔) 三个字母(间隔) JOG 无规律的个别 符号键(CTRL开头) CTRL+1 PROPCLOSEOR ...
- cad指示箭头快捷键命令_CAD快捷键命令大全
今天和大家分享一下CAD运用中的一些快捷方式,家居设计中会运用到很多CAD快捷键,熟练掌握快捷键在实际操作中会更加得心应手,提高工作效力. 符号键(CTRL开头) CTRL+1 PROPCLOSEOR ...
- C++ 实例化对象 p-printX()
一.从栈实例化对象 我们首先定义一个类,类的名字叫TV,里面包括两个成员变量,两个成员函数. class TV // 定义一个电视的类TV { public:char name[20]; // 定义类 ...
- 定位 - CoreLocation - 打印位置信息
1. 导入框架 <CoreLocation.framework>, 引入头文件 import <CoreLocation/CoreLocation.h>; 2. 创建管理者对象 ...
最新文章
- 清华大学AMiner团队发布《超级计算机研究报告》(附下载)
- 【转载】究竟啥才是互联网架构“高可用”
- [设计模式]简单工厂模式
- [导入]php 安全基础 附录C. 加密
- 【收藏】Spark之RDD的mapPartitions算子
- php配置xdebug调试
- SAP FSM 学习笔记(一) : 使用API消费FSM的数据
- 男女共厕,考验男生心理素质的时候到了......
- java分布式系统开发_从微服务到分布式系统-Java开发人员生存指南
- 《白日梦想家》观后感
- Mac上好用的MP4高清视频格式转化软件
- 中兴e8820刷openwrt_中兴E8820V2(电信天翼宽带类似新路由3歌华链)-拆机及OpenWrt固件...
- 2022张宇考研基础30讲 第六讲 中值定理
- 狭义相对论推导过程中的数学悖论--有没有人能解释下?
- HTML空格符号 nbsp; ensp; emsp; 介绍以及实现中文对齐的方法
- OSWorkflow(转载)
- Android 65536错误:Cannot fit requested classes in a single dex file
- 【工具】Excel表格数据不能编辑
- Conda环境无法激活
- 【机器学习课程】 第一章机器学习概述 1.人工智能