网易云课堂_C++程序设计入门(下)_第8单元:年年岁岁花相似– 运算符重载_第8单元 - 作业2:OJ编程 - 重载数组下标运算符
第8单元 - 作业2:OJ编程 - 重载数组下标运算符
温馨提示:
1.本次作业属于Online Judge题目,提交后由系统即时判分。
2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩。
练习数组下标运算符重载
依照学术诚信条款,我保证此作业是本人独立完成的。
- #include <iostream>
- #include <limits>
- #include <string>
- #include <sstream>
- using namespace std;
- class MyShape {
- protected:
- int R_, G_, B_;
- string colorToString() {
- stringstream ss;
- ss << R_ << " " << G_ << " " << B_;
- return ss.str();
- }
- public:
- void setColor(int R, int G, int B) {
- R_ = R; G_ = G, B_ = B;
- }
- int getR() {
- return R_;
- }
- int getG() {
- return G_;
- }
- int getB() {
- return B_;
- }
- virtual void Draw() = 0;
- MyShape() {
- R_ = 255; G_ = 255, B_ = 255;
- }
- };
- class MyCircle : public MyShape {
- private:
- int x_, y_, radius_;
- int min;
- public:
- MyCircle(int x, int y, int radius) {
- x_ = x;
- y_ = y;
- radius_ = radius;
- }
- MyCircle() {
- x_ = y_ = 200;
- radius_ = 100;
- }
- MyCircle(MyCircle& aCircle) {
- x_ = aCircle.x_;
- y_ = aCircle.y_;
- radius_ = aCircle.radius_;
- R_ = aCircle.getR();
- G_ = aCircle.getG();
- B_ = aCircle.getB();
- }
- void setCenter(int x, int y) {
- x_ = x;
- y_ = y;
- }
- void setRadius(int radius) {
- radius_ = radius;
- }
- void Draw() {
- }
- //----在此处添加关系运算符 >、<、>=、<=、==、!= 的重载原型声明
- int& operator[](const int &index);
- };
- //----在此处添加关系运算符的重载定义
- int& MyCircle::operator[](const int & index)
- {
- if (index == 0)
- {
- return x_;
- }
- else if (index == 1)
- {
- return y_;
- }
- else if (index == 2)
- {
- return radius_;
- }
- else
- {
- min = numeric_limits<int>::min();//下标超出范围,则返回带符号整型数中最小的值
- return min;
- }
- }
- int main() {
- int x, y, r = 0;
- cin >> x >> y >> r;
- MyCircle c1(x, y, r);
- MyCircle c2;
- c2[2] = x;
- for (int i = 0; i <= 3; i++) {
- cout << c1[i] << endl;
- cout << c2[i - 1] << endl;
- }
- return 0;
- }
网易云课堂_C++程序设计入门(下)_第8单元:年年岁岁花相似– 运算符重载_第8单元 - 作业2:OJ编程 - 重载数组下标运算符的更多相关文章
- 网易云课堂_C++程序设计入门(下)_第10单元:月映千江未减明 – 模板_第10单元 - 单元作业:OJ编程 - 创建数组类模板
第10单元 - 单元作业:OJ编程 - 创建数组类模板 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提 ...
- 网易云课堂_C++程序设计入门(下)_第9单元:白公曾咏牡丹芳,一种鲜妍独“异常”_第9单元 - 作业5:OJ编程 - 使用异常进行图形类的错误处理
第9单元 - 作业5:OJ编程 - 使用异常进行图形类的错误处理 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前 ...
- 网易云课堂_C++程序设计入门(下)_第7单元:出入虽同趣,所向各有宜 – 文件输入和输出_第7单元 - 作业2:编程互评
第7单元 - 作业2:编程互评 查看帮助 返回 提交作业(剩余10天) 完成并提交作业 作业批改 互评训练 互评作业 自评作业 成绩公布 查看成绩 由于在线编程不支持 ...
- 网易云课堂_C++程序设计入门(下)_期末考试_期末考试在线编程题目
期末考试在线编程题目 返回考试 本次考试题目一共两个,在考试期间可以不限制次数地提交 温馨提示: 1.本次考试属于Online Judge题目,提交后由系统即时判分. 2.学生可以在考试截止时间 ...
- 网易云课堂_C++程序设计入门(下)_第11单元:工欲善其事必先利其器 - STL简介_第11单元 - 单元作业2:OJ编程 - list 与 deque
第11单元 - 单元作业2:OJ编程 - list 与 deque 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之 ...
- 网易云课堂_C++程序设计入门(上)_第2单元:丹青画松石– EGE图形库
第2节:一个简单的EGE程序 #ifndef _GRAPHICS_H_ #define _GRAPHICS_H_ #ifndef __cplusplus #error You must use C++ ...
- 网易云课堂_C++程序设计入门(上)_第6单元:丹枫虽老犹多态–继承与多态_第6单元作业【2】- 在线编程(难度:中)
第6单元作业[2]- 在线编程(难度:中) 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统 ...
- 网易云课堂_C++程序设计入门(上)_第1单元:C++概览_第1单元作业 - 写代码 - 互评 (难度:易)
第1单元作业 - 写代码 - 互评 (难度:易) 查看帮助 返回 提交作业(截止时间已过) 完成并提交作业 作业批改 互评训练 互评作业 自评作业 成绩公布 查看成绩 温 ...
- 网易云课堂_C++程序设计入门(上)_第5单元:万类霜天竞自由 – 对象和类的更多内容_第5单元作业【4】 - 在线编程(难度:难)
第5单元作业[4] - 在线编程(难度:难) 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系 ...
随机推荐
- Windows 下apache https配置(phpstudy)
1.首先获取证书,https://www.pianyissl.com/ 免费三个月的 或者 自己生成私钥.证书,然后应用到apache中. http://blog.sina.com.cn/s/blo ...
- iconv_open - 分配一个字符集转换的描述符
总览 (SYNOPSIS) #include <iconv.h> iconv_t iconv_open (const char* tocode, const char* fromcode) ...
- Windows下搭建Nacos及Seata
一.简介 本文主要描述Nacos及Seata在Windows环境下环境搭建 下载相关软件: Nacos-1.1.4 Seata-0.9.0 二.安装 2.1安装Nacos 解压nacos-server ...
- C#实现Base64处理加解密
using System;using System.Text; namespace Common{ /// <summary> /// 实现Base64加密解密 /// ...
- 如何给自己的Python项目制作安装包
Packaging Python Projects¶ 本教程将指导您如何打包一个简单的Python项目.它将向您展示如何添加必要的文件和结构来创建包,如何构建包以及如何将其上载到Python包索引. ...
- for循环与内置方法详解
''' for循环与内置方法详解 ''' # 循环:重复(按照某种规律的)做一件事情 # lt = [1, 2, 3, 4] # # ind = 0 # # while True: # print(l ...
- STM32Cube IDE配置串口发送与接收
此项目源码下载地址:https://github.com/lizhiqiang0204/STM32CubeIDE_Uart 串口与中断配置如下 在生成的main函数中,添加开启串口接收中断 HAL_I ...
- win7抓带tag标记报文
1. 本地连接 ,右键→属性→高级→属性里选择“优先级和 VLAN” ,看右 边的 “值” 是不是已经启用, 没有启用的话就启用它. (如果没有这个选项, 那你可能要把网卡驱动升个高版本的了. ) ...
- 22.从上往下打印二叉树(python)
题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. class Solution: # 返回从上到下每个节点值列表,例:[1,2,3] def PrintFromTopToBottom( ...
- [Usaco2007 Jan]Balanced Lineup排队
[Usaco2007 Jan]Balanced Lineup排队 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 2333 Solved: 1424 Des ...