0757182

练习7.57:编写你自己的Account类,在自定义的类中使用静态成员。

【出题思路】

本题练习在自定义的类中使用静态成员。

【解答】

如果类的某些(某个)成员从逻辑上来说更应该与类本身关联,而不是与类的具体对象关联,则我们应该把这种成员声明成静态的。在Account类中,很明显利率是相对稳定和统一的,应该是静态成员;而开户人以及它的储蓄额则与对象息息相关,不能是静态的。

为了简便起见,我们只给出Account类的声明:

class Account
{
private:
    string strName;
    double dAmount = 0.0;
    static double dRate;
};

练习7.58:

下面的静态数据成员的声明和定义有错误吗?请解释原因。

// example.h
class Example {
public:
    static double rate = 6.5;
    static const int vecSize = 20;
    static vector<double> vec(vecSize);
};
// example.c
#include "example.h"
double Example::rate;
vector<double> Example::vec;

【出题思路】

本题旨在考查静态成员的用法。

【解答】

本题的程序存在以下几处错误:

在类的内部,rate和vec的初始化是错误的,因为除了静态常量成员之外,其他静态成员不能在类的内部初始化。另外,example. C文件的两条语句也是错误的,因为在这里我们必须给出静态成员的初始值。

本页共39段,1477个字符,2174 Byte(字节)