练习7.57:编写你自己的Account类,在自定义的类中使用静态成员。
【出题思路】
本题练习在自定义的类中使用静态成员。
【解答】
如果类的某些(某个)成员从逻辑上来说更应该与类本身关联,而不是与类的具体对象关联,则我们应该把这种成员声明成静态的。在Account类中,很明显利率是相对稳定和统一的,应该是静态成员;而开户人以及它的储蓄额则与对象息息相关,不能是静态的。
为了简便起见,我们只给出Account类的声明:
class Account { private: string strName; double dAmount = 0.0; static double dRate; };
下面的静态数据成员的声明和定义有错误吗?请解释原因。
// 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(字节)