IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 病毒复制 C++练习题目 -> 正文阅读

[C++知识库]病毒复制 C++练习题目

病毒复制

描述

设计一个病毒类,实现病毒检测功能。????????????????????????????????????????????????????????????????????????????????????????????????

在下面的编辑器中的Begin-End之间补充代码,具体要求如下:????????????????????????????????????????????????????????????????????????????????????????????????

  1. 成员变量:int Gen,代表当前病毒对象的年龄,默认值为 0。????????????????????????????????????????????????????????????????????????????????????????????????

  2. 拷贝构造函数:Virus(const Virus &v),拷贝到一个新的病毒对象时,并将新的病毒对象的成员变量年龄在原来病毒对象的年龄上加 1。????????????????????????????????????????????????????????????????????????????????????????????????

  3. 重载==运算符: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行)????????????????????????????????????????????????????????????????????????????????????????????????

输入输出示例

#include<iostream>
using namespace std;

class Virus {
public:
 int Gen;
 Virus(int g = 0)
 {
  Gen = g;
 }
 Virus(const Virus& v)//这个是拷贝构造函数的格式,类型(const +类型 +&(引用符)暂时引用的对象 )
 {
  Gen =v.Gen+1;
 }
};
bool operator==(const int& g, const Virus& v)//bool函数,其实布尔类型本质上就是个只会返回0和1的类型,改为int也可以  
{
    if(g == v.Gen)
        return 1;
    return 0;
} 
 
int main() {
 int i, j;
 cin >> i >> j;//依据题目样例输入的是2个0 
 Virus vs[3];//新创建3个对象 vs[0] vs[1] vs[2] ,每个对象都初始化默认值为0 
 vs[0] = Virus();//在类里面自定义了拷贝构造函数 ,如果括号里放的是一个类的对象,则调用拷贝构造函数,
 //每次调用拷贝构造后值都在原来基础上加1 
 //若括号里为空,则是普通的构造函数 
 vs[1] = Virus(vs[i]);
 vs[2] = Virus(vs[j]);  //到这里时 vs[0]=0 vs[1]=1 vs[2]=1
 for (int g = 0; g < 3; g++) {
  int count = 0;//两个for循环依次检测判断每个对象具体对象 年龄的 数量 
  for (int i = 0; i < 3; i++) {
   if (g == vs[i])//判断条件 
    count++;
  }
  cout << "年龄:" << g << " 数量:" << count << endl;
 }
}
#include<iostream>
using namespace std;

class Virus {
public:
 int Gen;
 Virus(int g = 0)
 {
  Gen = g;
 }
 Virus(const Virus& v)//这个是拷贝构造函数的格式,类型(const +类型 +&(引用符)暂时引用的对象 )
 {
  Gen =v.Gen+1;
 }
};
bool operator==(const int& g, const Virus& v)//bool函数,其实布尔类型本质上就是个只会返回0和1的类型,改为int也可以  
{                                //这是个运算符重载 ,const+类型&  常引用  -->引用值,相比与普通的引用,常引用,不会改变被引用的值 
    if(g == v.Gen)                                      //         普通的引用--> 引用值,普通引用有可能改变被引用的值,不安全,
        return 1;
    return 0;
} 
 
int main() {
 int i, j;
 cin >> i >> j;//依据题目样例输入的是2个0 
 Virus vs[3];//新创建3个对象 vs[0] vs[1] vs[2] ,每个对象都初始化默认值为0 
 vs[0] = Virus();//在类里面自定义了拷贝构造函数 ,如果括号里放的是一个类的对象,则调用拷贝构造函数,
 //每次调用拷贝构造后值都在原来基础上加1 
 //若括号里为空,则是普通的构造函数 
 vs[1] = Virus(vs[i]);
 vs[2] = Virus(vs[j]);  //到这里时 vs[0]=0 vs[1]=1 vs[2]=1
 for (int g = 0; g < 3; g++) {
  int count = 0;//两个for循环依次检测判断每个对象具体对象 年龄的 数量 
  for (int i = 0; i < 3; i++) {
   if (g == vs[i])//判断条件 运算符重载的调用 
    count++;
  }
  cout << "年龄:" << g << " 数量:" << count << endl;
 }
}
输入输出
示例 1
0 0
年龄:0 数量:1  
年龄:1 数量:2  
年龄:2 数量:0  

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-16 11:12:18  更:2022-05-16 11:12:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 18:31:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码