2010年全国计算机等级考试二级C++模拟试题及答案(12)

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

  三、综合应用题

  使用VC6打开考生文件夹下的工程kt13_3。此工程包含一个kt13_3.cpp,其中定义了类Person,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。

  (1)定义类Person的私有数据成员forename、surname和money,forename和surname都是char型的指针数据,money是double型的数据。请在注释“//**1**”之后添加适当的语句。

  (2)完成类Person的带三个参数的构造函数Person(char*f,char*s,doublem),分别为forename和surname申请新的空间来存储参数f和s指针指向的内容,注意空间的大小,最后把参数m的值赋给money,请在注释“//**2**”之后添加适当的语句。

  (3)完成类Person的析构函数的定义,把forename和surname指向的空间释放,请在注释“//**3**”之后添加适当的语句。

  (4)完成类Person的成员函数display的定义,使其以格式"fornamesurnamehasmoney"的形式输出内容,请在注释“//**4**”之后添加适当的语句。

  注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

  输出结果如下:

  RichardBerkhas1000.56

  Pressanykeytocontinue

  源程序文件kt13_3.cpp清单如下:

  #include

  #include

  classPerson

  { private:

  //**1**

  doublemoney;

  public:

  Person(char*f,char*s,doublem);

  ~Person();

  voiddisplay(); };

  Person::Person(char*f,char*s,doublem)

  { //**2**

  strcpy(forename,f);

  surname=newchar[strlen(s)+1];

  strcpy(surname,s);

  money=m; }

  Person::~Person()

  { //**3** }

  voidPerson::display()

  { //**4** }

  voidmain()

  { Personp("Richard","Berk",1000.56);

  p.display(); }

  【参考答案】

  (1)char *forename;

  char *surname;

  (2)forename = new char[strlen(f)+1];

  (3)delete []forename;

  delete []surname;

  (4)cout<

上一页789下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答