描述
设计一个病毒类,实现病毒检测功能。
在下面的编辑器中的Begin-End
之间补充代码,具体要求如下:
-
成员变量:
int Gen
,代表当前病毒对象的年龄,默认值为 0。 -
拷贝构造函数:
Virus(const Virus &v)
,拷贝到一个新的病毒对象时,并将新的病毒对象的成员变量年龄在原来病毒对象的年龄上加 1。 -
重载
==
运算符:bool operator==(const int& g,const Virus &v)
,用来比较g==virus[i]
,以找出年龄为参数 g 的病毒,并统计计数。
参考代码如下:
#include <iostream>
using namespace std;
/********* Begin *********/
class Virus {
//病毒类的声明
};
//病毒类的定义以及其他内容
/********* End *********/
int main() {
int i, j;
cin >> i >> j;
Virus vs[3];
vs[0] = Virus();
vs[1] = Virus(vs[i]);
vs[2] = Virus(vs[j]);
for (int g = 0; g < 3; g++) {
int count = 0;
for (int i = 0; i < 3; i++) {
if (g == vs[i])
count++;
}
cout << "年龄:" << g << " 数量:" << count << endl;
}
}
输入
病毒的年龄、数量
输出
输出病毒的三代的年龄和数量(共占3行)
输入输出示例
输入 | 输出 | |
示例 1 | | |
#include <iostream>
using namespace std;
class Virus {
public:
int Gen;
Virus(int G=0){
Gen=G;
}
Virus(const Virus &v){
Gen=v.Gen+1;
}
};
bool operator==(const int &g,const Virus &v){//必须要求返回值为bool
if(g==v.Gen){
return true;;
}
else{
return false;
}
}
int main() {
int i, j;
cin >> i >> j;
Virus vs[3];
vs[0] = Virus();
vs[1] = Virus(vs[i]);
vs[2] = Virus(vs[j]);
for (int g = 0; g < 3; g++) {
int count = 0;
for (int i = 0; i < 3; i++) {
if (g==vs[i])
count++;
}
cout << "年龄:" << g << " 数量:" << count << endl;
}
}