第8单元 - 作业2:OJ编程 - 重载数组下标运算符

查看帮助

返回
 

温馨提示:

1.本次作业属于Online Judge题目,提交后由系统即时判分。

2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩。

练习数组下标运算符重载

依照学术诚信条款,我保证此作业是本人独立完成的。

1
练习数组下标运算符重载(6分)

本题目具体内容请参见 【第8单元 - 单元作业2说明】

时间限制:500ms内存限制:32000kb
 
#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编程 - 重载数组下标运算符的更多相关文章

  1. 网易云课堂_C++程序设计入门(下)_第10单元:月映千江未减明 – 模板_第10单元 - 单元作业:OJ编程 - 创建数组类模板

    第10单元 - 单元作业:OJ编程 - 创建数组类模板 查看帮助 返回   温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提 ...

  2. 网易云课堂_C++程序设计入门(下)_第9单元:白公曾咏牡丹芳,一种鲜妍独“异常”_第9单元 - 作业5:OJ编程 - 使用异常进行图形类的错误处理

    第9单元 - 作业5:OJ编程 - 使用异常进行图形类的错误处理 查看帮助 返回   温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前 ...

  3. 网易云课堂_C++程序设计入门(下)_第7单元:出入虽同趣,所向各有宜 – 文件输入和输出_第7单元 - 作业2:编程互评

    第7单元 - 作业2:编程互评 查看帮助 返回   提交作业(剩余10天) 完成并提交作业     作业批改 互评训练   互评作业   自评作业     成绩公布 查看成绩   由于在线编程不支持 ...

  4. 网易云课堂_C++程序设计入门(下)_期末考试_期末考试在线编程题目

    期末考试在线编程题目 返回考试   本次考试题目一共两个,在考试期间可以不限制次数地提交 温馨提示: 1.本次考试属于Online Judge题目,提交后由系统即时判分. 2.学生可以在考试截止时间 ...

  5. 网易云课堂_C++程序设计入门(下)_第11单元:工欲善其事必先利其器 - STL简介_第11单元 - 单元作业2:OJ编程 - list 与 deque

    第11单元 - 单元作业2:OJ编程 - list 与 deque 查看帮助 返回   温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之 ...

  6. 网易云课堂_C++程序设计入门(上)_第2单元:丹青画松石– EGE图形库

    第2节:一个简单的EGE程序 #ifndef _GRAPHICS_H_ #define _GRAPHICS_H_ #ifndef __cplusplus #error You must use C++ ...

  7. 网易云课堂_C++程序设计入门(上)_第6单元:丹枫虽老犹多态–继承与多态_第6单元作业【2】- 在线编程(难度:中)

    第6单元作业[2]- 在线编程(难度:中) 查看帮助 返回   温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统 ...

  8. 网易云课堂_C++程序设计入门(上)_第1单元:C++概览_第1单元作业 - 写代码 - 互评 (难度:易)

    第1单元作业 - 写代码 - 互评 (难度:易) 查看帮助 返回   提交作业(截止时间已过) 完成并提交作业     作业批改 互评训练   互评作业   自评作业     成绩公布 查看成绩 温 ...

  9. 网易云课堂_C++程序设计入门(上)_第5单元:万类霜天竞自由 – 对象和类的更多内容_第5单元作业【4】 - 在线编程(难度:难)

    第5单元作业[4] - 在线编程(难度:难) 查看帮助 返回   温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系 ...

随机推荐

  1. 电脑系统win7和samba服务器连接不上解决办法

    1.修改本地安全策略运行secpol.msc打开“本地安全策略”窗体,依次点开“本地策略”->“安全选项”,修改“网络安全: LAN 管理器身份验证级别”的值为“发送 LM 和 NTLM – 如 ...

  2. ceph对接openstack

    一.使用rbd方式提供存储如下数据: (1)image(glance):保存glanc中的image: (2)volume(cinder)存储:保存cinder的volume:保存创建虚拟机时选择创建 ...

  3. 安装python3之后,yum用不了

    使用centos 安装python3,并默认python3为python版本之后,用不了yum 原因是yum依赖于python2组件 解决方法: vi /usr/bin/yum 和 vi /usr/l ...

  4. win7抓带tag标记报文

    1. 本地连接 ,右键→属性→高级→属性里选择“优先级和 VLAN” ,看右 边的 “值” 是不是已经启用,  没有启用的话就启用它. (如果没有这个选项, 那你可能要把网卡驱动升个高版本的了. ) ...

  5. Vue的css动画原理

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. JAVA笔记26-网络编程(不等于网站编程)

    一.网络基础(TCP/IP详解) 1.IP协议(Internet Protocol):网络层,支持网间数据报通信.无连接数据报传送,数据报路由选择和差错控制. IPv4 32位(4字节),IPv6 1 ...

  7. Python使用XML操作mapnik,实现复杂标注(Multi line text symbolizer)

    test.py import mapnik stylesheet = 'world_style.xml' image = 'world_style.png' m = mapnik.Map(1200, ...

  8. Codeforces 960F Pathwalks ( LIS && 树状数组 )

    题意 : 给出若干个边,每条边按照给出的顺序编号,问你找到一条最长的边权以及边的编号同时严格升序的一条路径,要使得这条路径包含的边尽可能多,最后输出边的条数 分析 :  这题和 LIS 很相似,不同的 ...

  9. 模板_BIT

    #include<bits/stdc++.h> #define maxn 500005 //#define int long long using namespace std; inlin ...

  10. Mac item2常用快捷键

    记录一下iterm 2 快捷键,用于备忘! 标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:co ...