保险业网站建设,网站要实名认证,网站网站制作网,wordpress知识付费一、填空题
1、一个类的头文件如下所示#xff0c;num初始化值为5#xff0c;程序产生对象T#xff0c;且修改num为10#xff0c;并使用show()函数输出num的值10。
#include iostream.h
class Test
{ private:
static int num;
public:
Test(int);
void sh…一、填空题
1、一个类的头文件如下所示num初始化值为5程序产生对象T且修改num为10并使用show()函数输出num的值10。
#include iostream.h
class Test
{ private:
static int num;
public:
Test(int);
void show();
};
_________
Test::Test(int n)
{ numn; }
void Test::show()
{ coutnumendl; }
void main()
{ Test t(10);
_________
} 2 、在下面程序的底画线处填上适当的字句使该程序执行结果为40。
#include iostream
class Test
{ public:
______;
Test (int i0)
{xix;}
int Getnum()
{return Test::x7;}
};
_______;
void main()
{Test test;
couttest.Getnum()endl;;
}
3 、下列程序运行的结果是___________
#include iostream.h
#include string.h
#include iomanip.h
class student
{char name8;
int deg;
char level7;
friend class process; // 说明友元类
public:
student(char na,int d)
{ strcpy(name,na);
degd;
}
};
class process
{ public:
void trans(student s)
{int is.deg/10;
switch(i)
{case 9:
strcpy(s.level, 优);break;
case 8:
strcpy(s.level,良);break;
case 7:
strcpy(s.level,中);break;
case 6:
strcpy(s.level,及格);break;
default:
strcpy(s.level,不及格);
}
}
void show(student s)
{coutsetw(10)s.namesetw(4)s.degsetw(8)s.levelendl;}
};
void main()
{ student st{student(张三,78),student(李四,92),student(王五
,62),student(孙六,88)};
process p;
cout结 果:姓名setw(6)成绩setw(8)等级endl;
for(int i0;i4;i)
{ p.trans(sti);
p.show(sti);}
}
答 姓名 成绩 等级 张三 78 中 李四 92 优 王五 62 及格 孙六 88 良 二、编程题
1. (1) 编写一个类声明一个数据成员和一个静态数据成员。让构造函数初始化数据成员并把静态数据成员加1让析构函数把静态数据成员减1。 (2) 根据(1)编写一个应用程序创建三个对象然后显示它们的数据成员和静态数据成员再析构每个对象并显示它们对静态数据成员的影响。 (3) 修改(2)让静态成员函数访问静态数据成员并让静态数据成员是保户的。
2. (1) 下述代码有何错误改正它。 #include iostream using namespace std; class Animal; void SetValue(Animal, int); void SetValue(Animal, int, int); class Animal { public: friend void SetValue(Animal, int); protected: int itsWeight; int itsAge; }; void SetValue(Animal ta, int tw) { a.itsWeight tw; } void SetValue(Animal ta, int tw, int tn) { ta.itsWeight tw; ta.itsAge tn; } int main() { Animal peppy; SetValue(peppy, 5); SetValue(peppy, 7,9); return 0; }
(2) 将上面程序中的友员改成普通函数为此增加访问类中保护数据的成员函数。
答
1void SetValue(Animal ta, int tw, int tn)无法访问类中被保护的成员可在类中加上friend void SetValue(Animal ta, int tw, int tn)
2
void AnimalSetValue(Animal ta, int tw)
{ ta.itsWeight tw;
}
3. 重新编写下述程序使函数Leisure()成为类Car和类Boat的函数。作为重新编程在类Car和类Boat中增加函数set()。 #include iostream using namespace std; class Boat; class Car { public: Car(int j){size j;} friend int Leisure(int time, Car aobj, Boat bobi); protected: int size; class Boat { public: Boat(int j){size j;} friend int Leisure(int time, Car aobj, Boat bobj); protected: int size; }; int Leisure(int time, Car aobj, Boat bobi) { return time * aobj.size *bobi.size; } ; int main() { Car c1(2); Boat bl(3); int time 4; cout Leisure(time, cl,bl); return 0; } 答
#include iostreamusing namespace std;
class Boat;class Car
{friend class Boat;
private:int size;
public:Car(int i){size i;}int Leisure(int time,Boat bo);
};
class Boat
{friend class Car;
private:int size;
public:Boat(int i){size i;}int Leisure(int time,Car c){return time*size*c.size;}
};
int Car::Leisure(int time, Boat bo)
{return time*size*bo.size;
}int main()
{Car c(2);Boat b(3);int time 4;cout c.Leisure(time,b) endl;return 0;
}