使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示个人基本信息的类PInfo,但类Plnfo的定义并不完整。请按要求完成下列操作,将类Plnfo的定义补充完成: (1)定义私有数据成员bloodType用于表示血型,血型为

admin2013-11-15  31

问题 使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示个人基本信息的类PInfo,但类Plnfo的定义并不完整。请按要求完成下列操作,将类Plnfo的定义补充完成:
    (1)定义私有数据成员bloodType用于表示血型,血型为char型的数据。请在注释1之后添加适当的语句。
    (2)完成构造函数的定义,要求具有默认值,默认值为身高175,体重70,血型A。请在注释2之后添加适当的语句。
    (3)完成类Pinfo外成员函数Setlnfo的定义。请在注释3之后添加适当的语句。
    (4)在主函数中调用成员函数Setlnfo,把对象d2的3个私有数据成员分别设定为身高170,体重64,血型B。请在注释4之后添加适当的语句。    ‘
    注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
试题程序:
#include
class Plnfo
{
private:
int height;
int weight;
//********1********
public:
//********2********
:height(ht),weight(Wt),bloodType(bt){};
PInfo(PInfo&h1):height(h1.height),
weight(h1.weight),bloodType(h1.bloodType){}
int GetHeight()
{
  return height;
}
int GetWeight()
{
return weight;
}
int GetBloodType()
{
return bloodType;
}
void Setlnfo(int ht,int wt,char bt);
void Display();
};
//********3********
{
height=ht;
weight=wt:
bloodType=bt;
}
void Plnfo::Display()
{
tout<<"Humanlnfo:";
eout"height<<"cm,"<"<}
void main()
{
PInfo h1(169,61,’A’);
Plnfo h2;
Plnfo h3(h1);
Plnfo h4(h2);
//********4********
h1.Display();
h2.Display();
h3.Display();
h4.Display();
}

选项

答案(1)应添加“char bloodType;”。 (2)应添加“Plnfo(int ht=175,int wt=70,char bt=’A’)”。 (3)应添加“void Plnfo::Setlnfo(int ht,int wt,char bt)”。 (4)应添加“h2.Setlnfo(170,64,’B’);”。

解析 本题第1处定义私有数据成员为char型的bloodType,故第1处应添加“char hloodType;”。构造PInfo()完成3个成员的初始化,并且带有默认值参数,默认值为身高175,体重70,血型A,由函数体语句可知参数名分别为ht、wt和bt,因此第2处应添加“Plnfo(int ht=175,int wt=70,char bt=’A’)”。第3处的语句在类外完成成员函数SetInfo的定义,在类外定义成员函数的格式为“(返回值类型)<类名>::<成员函数>(<参数表>)”,故第3处应添加“void PInfo::SetInfo(intht,int wt,char bt)”。调用函数Setlnfo需要3个参数,程序要求把对象d2的3个私有数据成员分别设定为身高170,体重64,血型为B,即把这3个值传入函数Setlnfo,因此第4处应添加“h2.SetInfo(170,64,’B’);”。
转载请注明原文地址:https://jikaoti.com/ti/sSE0FFFM
0

最新回复(0)