请阅读下面的程序,请在空白处填写正确的代码,以实现a2+b2+c2的求和,其中a、b、c分别为5、10、15由不同对象的初始化 值提供。该程序使用静态成员实现。 #include <iostream> using namespace std; class MyClass { public: MyClass(int x); void getnumber( ); static void Result( ); private: int a; //定义静态数据成员 }; MyClass::MyClass(int x) { a = x; sum += a*a; } void MyClass::getnumber( ) { cout << "Number = " << a << endl; } void MyClass::Result( ) { cout << "Result = " << sum << endl; } //静态数据成员初始化 int main( ) { MyClass ob1(5), ob2(10), ob3(15); ob1.getnumber( ); ob2.getnumber( ); ob3.getnumber( ); //调用Result输出结果 return 1; }
时间: 2024-03-23 20:39:01 浏览: 103
下面是空白处的正确代码:
```
static int sum; // 声明静态数据成员
```
将其添加到类的私有部分中即可。同时在类外要进行静态成员变量的初始化:
```
int MyClass::sum = 0; // 静态成员变量初始化
```
完整代码如下:
```c++
#include <iostream>
using namespace std;
class MyClass {
public:
MyClass(int x);
void getnumber();
static void Result();
private:
int a;
static int sum;
};
int MyClass::sum = 0;
MyClass::MyClass(int x) {
a = x;
sum += a * a;
}
void MyClass::getnumber() {
cout << "Number = " << a << endl;
}
void MyClass::Result() {
cout << "Result = " << sum << endl;
}
int main() {
MyClass ob1(5), ob2(10), ob3(15);
ob1.getnumber();
ob2.getnumber();
ob3.getnumber();
MyClass::Result();
return 1;
}
```
输出结果为:
```
Number = 5
Number = 10
Number = 15
Result = 350
```
阅读全文