2、按要求编写程序 1)、构造一个类CalculateFun,公有部分包含构造、析构函数、外部接口函数void AllByOne()、和静态成员函数static void ShowSequence()。私有部分包含:void InsideCalculation()、void SetData()、int x、int y和静态成员变量static int snCount。 2)、构造函数CalculateFun()初始化x和y的值,私有成员函数InsideCalculation和SetData函数供AllByOne函数调用,而外部main函数中对于Calculation的任意对象仅仅调用AllByOne就可以实现从键盘上输入x、y的值,求出x和y的两数平方和结果并显示出来。其中SetData用于键盘输入x和y的值,InsideCalculation用于计算两数平方和并显示结果。 3)、建立void ObjectOperating(CalculateFun *pObject)普通函数,功能是对形参中的对象指针调用其接口函数AllByOne(),并且调用静态成员函数ShowSequence来显示是第几次调用对象。 4)、main函数中建立一个含三个元素的对象指针数组pArr,分别对其三个元素new出三个对象,并调用ObjectOperating函数。完了后用delete释放new出的内存
时间: 2024-03-24 08:36:42 浏览: 51
全面解析C++中的析构函数
以下是符合要求的程序:
```c++
#include <iostream>
using namespace std;
class CalculateFun {
public:
CalculateFun();
~CalculateFun();
void AllByOne();
static void ShowSequence();
private:
void InsideCalculation();
void SetData();
int x;
int y;
static int snCount;
};
int CalculateFun::snCount = 0;
CalculateFun::CalculateFun() {
x = 0;
y = 0;
}
CalculateFun::~CalculateFun() {}
void CalculateFun::AllByOne() {
SetData();
InsideCalculation();
}
void CalculateFun::ShowSequence() {
cout << "This is the " << snCount << "th time calling the object." << endl;
}
void CalculateFun::InsideCalculation() {
int sum = x * x + y * y;
cout << "The result of x^2 + y^2 is: " << sum << endl;
}
void CalculateFun::SetData() {
cout << "Please input x and y: ";
cin >> x >> y;
}
void ObjectOperating(CalculateFun *pObject) {
pObject->AllByOne();
CalculateFun::snCount++;
CalculateFun::ShowSequence();
}
int main() {
CalculateFun *pArr[3];
for (int i = 0; i < 3; i++) {
pArr[i] = new CalculateFun();
ObjectOperating(pArr[i]);
}
for (int i = 0; i < 3; i++) {
delete pArr[i];
}
return 0;
}
```
程序说明:
1. CalculateFun类包含构造函数、析构函数、外部接口函数AllByOne()和静态成员函数ShowSequence(),以及私有函数InsideCalculation()、SetData()和私有成员变量x、y、snCount。
2. CalculateFun构造函数初始化x和y的值为0。
3. AllByOne函数调用SetData和InsideCalculation函数,实现从键盘上输入x、y的值,求出x和y的两数平方和结果并显示出来。
4. ShowSequence函数静态地显示是第几次调用对象。
5. ObjectOperating函数对传入的对象指针调用其接口函数AllByOne(),并且调用静态成员函数ShowSequence来显示是第几次调用对象。
6. main函数中建立一个含三个元素的对象指针数组pArr,分别对其三个元素new出三个对象,并调用ObjectOperating函数。完了后用delete释放new出的内存。
阅读全文