目录
要求
写一个类Math,拥有封装的属性int value。
通过构造函数Math(int value)给value赋予初始值(不得使用构造初始化列表)
要求实现加减乘除四个函数,四个函数都支持链式调用。
写一个函数可以把value的数值置零。
思路
一、整体功能概述
定义了一个名为
Math
的类,用于进行一系列数学运算(加、减、乘、除)和清零操作。在main
函数中,通过用户输入四个整数值,然后使用Math
类的方法依次进行这些运算,并展示结果。二、类的分析
Math
类:
- 成员变量:
value
:用于存储当前的数值。- 构造函数:
Math(int value)
:接受一个整数参数,初始化value
成员变量。- 成员函数:
clear()
:将value
重置为 0,并返回对当前对象的引用,以便支持链式调用。jia(int value)
、jian(int value)
、cheng(int value)
、chu(int value)
:分别实现加法、减法、乘法、除法运算,并返回对当前对象的引用,实现链式调用。get_value()
:返回当前的value
值。三、主函数分析
提示用户输入四个整数值:
- 使用
cout
输出提示信息,然后通过cin
从用户获取四个整数a
、b
、c
、d
。进行数学运算并输出结果:
- 首先,使用
v1.jia(a).jian(b).cheng(c).chu(d).get_value()
依次对初始值为 0 的Math
对象进行加、减、乘、除运算,并输出结果。- 然后,再次对经过运算的对象调用
clear()
方法进行清零操作,并输出清零后的结果。
代码
#include <iostream>
using namespace std;
class Math
{
private:
int value;
public:
Math& clear()
{
this->value=0;
}
Math(int value)
{
this->value=value;
}
Math& jia(int value)
{
this->value +=value;
return *this;
}
Math& jian(int value)
{
this->value -=value;
return *this;
}
Math& cheng(int value)
{
this->value *=value;
return *this;
}
Math& chu(int value)
{
this->value /=value;
return *this;
}
int get_value()
{
return value;
}
};
int main()
{
Math v1(0);
int a,b,c,d;
cout << "请输入要计算的四个值:" << endl;
cin >> a >> b >> c >> d ;
cout << "依次执行加减乘除的结果为:" <<
v1.jia(a).jian(b).cheng(c).chu(d).get_value() << endl;
cout << "执行清零函数:" <<
v1.jia(a).jian(b).cheng(c).chu(d).clear().get_value() << endl;
return 0;
}