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-02-23 21:58:13 浏览: 73
构造函数和实例
以下是代码实现:
```cpp
#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 = y = 0;
}
CalculateFun::~CalculateFun() {
}
void CalculateFun::AllByOne() {
SetData();
InsideCalculation();
}
void CalculateFun::ShowSequence() {
cout << "This is the " << ++snCount << "th object operated." << endl;
}
void CalculateFun::InsideCalculation() {
int result = x * x + y * y;
cout << "The sum of squares of " << x << " and " << y << " is " << result << endl;
}
void CalculateFun::SetData() {
cout << "Please enter two integers: ";
cin >> x >> y;
}
void ObjectOperating(CalculateFun *pObject) {
pObject->AllByOne();
CalculateFun::ShowSequence();
}
int main() {
CalculateFun *pArr[3];
for (int i = 0; i < 3; i++) {
pArr[i] = new CalculateFun();
ObjectOperating(pArr[i]);
delete pArr[i];
}
return 0;
}
```
使用方法:将上述代码保存为 CalculateFun.cpp 文件,使用 C++ 编译器编译并运行即可。
阅读全文