首页 > 其他分享 >设计并实现加法器类Adder

设计并实现加法器类Adder

时间:2023-05-17 23:15:49浏览次数:36  
标签:run show int ++ num 加法器 Adder 设计

定义一个整数加法器类Adder,对其重载运算符“+”、“++”,main(void)函数完成对其的测试。

Adder类结构说明:

 
Adder类的数据成员包括:
①私有数据成员:数值域num(int型)。
Adder类成员函数包括:
①有参构造函数Adder(int)和拷贝构造函数Adder(const  Adder  &),其中有参构造函数参数默认值为0,输出信息“Adder Constructor run”,拷贝构造函数输出信息“Adder CopyConstructor run”
②析构函数,析构函数输出信息“Adder Destructor run”
③公有函数成员void  setNum(int)和int getNum() const分别返回和设置数值域。
④重载“+”运算符,实现两个Adder对象相加的运算
⑤重载“++”运算符,实现Adder对象自增运算
⑥公有成员函数void show() const用于显示加法器的信息,显示格式为:Adder(<数值域>)
 

裁判测试程序样例:

 
#include <iostream>
using namespace std;

/*请在这里填写答案*/

//主函数
int main(void){
    int x;
    Adder a1,a2(a1);
    cin>>x;
    (a1++).show();
    a1.show();
    a2.setNum(x);
    (++a2).show();
    a2.show();
    (a1+a2).show();
    return 0;
}
 

输入样例:

1
 

输出样例:

Adder Constructor run
Adder CopyConstructor run
Adder CopyConstructor run
Adder(0)
Adder Destructor run
Adder(1)
Adder(2)
Adder(2)
Adder Constructor run
Adder(3)
Adder Destructor run
Adder Destructor run
Adder Destructor run

class Adder
{
private:
int num;
public:
Adder(int x=0)
{
num=x;
cout<<"Adder Constructor run"<<endl;
}
Adder(const Adder &p)
{
num=p.num;
cout<<"Adder CopyConstructor run"<<endl;
}
~Adder()
{
cout<<"Adder Destructor run"<<endl;
}
void setNum(int x)
{
num=x;
}
int getNum() const
{
return num;
}
Adder operator+(Adder & p)
{
Adder q;
q.num=num+p.num;
return q;
}
Adder& operator++()//前置++
{
++num;
return *this;
}
Adder operator++(int)//后置++
{
Adder tmp = *this;
++(*this);//利用前置++
return tmp;
}
void show() const
{
cout<<"Adder("<<num<<")"<<endl;
}
};

 

标签:run,show,int,++,num,加法器,Adder,设计
From: https://www.cnblogs.com/zljzy/p/17410616.html

相关文章

  • 原型设计工具
    什么是原型和设计?原型:用线条、图形描绘出的产品框架,也称线框图。设计:综合考虑产品目标、功能需求场景、用户体验等因素,对产品的各版块、界面和元素进行的合理性排序过程。原型设计的重要性是怎样?产品阶段:Idea→需求采集→功能结构→原型设计→产品需求文档(PRD文档)→Roadmap原......
  • Java商城网站系统设计与实现(带源码)
    基于Java的商城网站系统设计与实现功能介绍平台采用B/S结构,后端采用主流的Springboot框架进行开发,前端采用主流的Vue.js进行开发。整个平台包括前台和后台两个部分。前台功能包括:首页、商品详情页、订单、用户中心模块。后台功能包括:总览、订单管理、商品管理、分类管理、标......
  • 常见的原型设计工具对比及初体验
    常见的原型设计工具对比及初体验1、市面上常见的原型设计工具1.1AdobeXDAdobeXD是由Adobe公司推出的一款原型设计工具,具有强大的交互设计功能和快速的原型制作能力。它提供了丰富的界面设计工具、交互动画和原型共享功能,适用于设计师和团队进行移动应用和网页的原型设计......
  • 原型设计工具对比以及使用感受
    一、目前常见的原型设计工具名称介绍优点缺点AxureRP 功能全面,适合大型项目可以完成复杂的流程和交互设计支持多种平台适合大型项目学习难度较高价格贵Sketch 在Mac上运行,简单易用,支持插件扩展学习起来较为容易大量插件扩展运行比较流畅不适合......
  • 主流原型设计工具介绍
    原型设计是产品开发过程中的一个重要的环节,它可以帮助产品经理和设计师快速验证产品思路,沟通交互细节,提高产品质量。市面上有很多原型设计工具,每个工具都有自己的特点和优势,本文将介绍几种主流的原型设计工具,并举例说明其使用方法。墨刀墨刀是一款在线一体化产品设计协作平台,集......
  • 原型设计工具
       主流原型设计工具及其优缺点我所查到的主流原型设计工具主要有五款,分别是Axure、BalsamiqMockups、墨刀、Justinmind和iClap。AxureAxureRP是美国AxureSoftwareSolution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快......
  • 主流原型设计工具
    AxureR2.P,它是美国AxureSoftwareSolution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网站的线框图、流程图、原型和规格说明文档。作为专门的原型设计工具,它比一般创建静态原型的工具如Visio、Omnigraffle......
  • 三相光伏并网逆变器设计,原理图,PCB,以及源代码。
    三相光伏并网逆变器设计,原理图,PCB,以及源代码。主要包括以下板卡:1)主控DSP板,负责逆变器的逆变及保护控制。原理图为pdf.pcb为AD文件。2)接口板,负责信号采集、处理,以及信号等的连接。3)电源板:为整个系统提供24V以及±15V。4)功率板:实现驱动及功率逆变。5)总控板:MPPT控制、RS485modbus......
  • 15kw充电桩模块设计,源代码,原理图,pcb 1. 某达15kw充电桩模块
    15kw充电桩模块设计,源代码,原理图,pcb1.某达15kw充电桩模块,提供AD设计的电路图和pcb,源代码,并包括三相PFC程序参数变量的计算书。2.某默生15kw充电桩模块,PFC+DCDC双DSP控制,原理图(主板原理图为AD设计,其他为pdf格式),以及附有上位机软件,can通讯协议,产品规格书,无pcb源文件。YID:1315676......
  • synchronized、Lock 为什么要设计成可重入
    为什么监视器锁(ObjectMonitor)、Lock要设计成可重入的目的主要有两个1、防止死锁2、面向对象更好的封装代码先看一段代码@Slf4jpublicclassSynchronizedDemo{privatestaticfinalObjectlock=newObject();publicstaticvoidmain(String[]args){......