单项选择题
1.类中定义成员隐含访问权限 B
A) public B) private C) static D) protected
2.关类象正确说法 B
A) 类种类型封装数操作 B) 类象
C) 象类实例 D) 象必属某类
3.面关象概念描述中 C 错误
A)象代表着正创建系统中实体
B)象C语言中结构体变量
C)象状态操作(方法)封装体
D)象间信息传递通消息进行
4 派生类原 A
A)提高代码重性 B)提高程序运行效率
C)加强类封装性 D)实现数隐藏
5 关析构函数说法正确 D
A)析构函数
B)析构函数函数类型
C)析构函数没形参
D)析构函数作象撤消时收回先前分配存空间
6 声明类象时系统动调函数撤消象时系统动调函数该函数 C
A) 成员函数构造函数 B) 复制构造函数析构函数
C) 构造函数析构函数 D) 析构函数复制构造函数
7 列关运算符重载描述中 D 正确
A)运算符重载改变操作数数 B)运算符重载改变优先级
C)运算符重载改变结合性 D)运算符重载改变语法结构
8 友元函数重载运算符 A
A)+ B) C)[] D)>
9.派生类私继承基类时基类中公成员保护成员成派生类 A
A) private成员 B) protected成员
C) public成员 D) 友元
10.C++中实现动态联编必须 D 调虚函数
A) 类名 B) 派生类指针
C) 象名 D) 基类指针
11.类中含纯虚函数该类称 A
A) 抽象类 B) 纯基类
C) 派生类 D) 基类
12.ifstream流类定义流象开磁盘文件时文件隐含开方式 B
A) ios out B) ios in
C) iosin|iosout D) iosbinary
13通常拷贝构造函数参数 C
A)某象名 B)某象成员名
C)某象引名 D)某象指针名
14果基类中show声明带返回值纯虚函数正确写法 C
A)virtual show()0 B)virtual void show()
C)virtual void show()0 D)void show0 virtual
15.C++语言早期C语言逐渐发展演变C语言相求解问题方法进行改进 D
A) 面程 B) 复性
C) 安全性 D) 面象
16.面关重载函数说法中正确 C
A)重载函数必须具返回值类型 B)重载函数形参数必须
C)重载函数必须形参列表 D)重载函数名
17.设置虚函数目 D
A) 消二义性 B) 简化代码
C) 提高运行效率 D) 减少目标代码
18友元作 A
A)提高程序运行效率 B)加强类封装性
C)实现数隐藏性 D)增加成员函数种类
19C++中 B 运算符重载
A) + B)?: C) D)<
20.C++语言程序中象间相互通信通 B
A)继承实现 B)调成员函数实现
C)封装实现 D)函数重载实现 BBBAD CDAAD ABCCD CDABB CCDCA DCDDC CBCBA BCDAB
21.列运算符中C++语言中重载 C
A)* B)> C) D)
22模板C
A)加强类封装性 B)提高代码运行效率
C)提高代码重性 D)实现态性
23列表示引方法中 D 正确已知:int m10
A) float &t&m B)int &y10 C)int &z D) int &xm
24.面友元函数描述正确 C
A)友元函数实现必须类部定义 B)友元函数类成员函数
C)友元函数破坏类封装性隐藏性 D)友元函数访问类私成员
25.面叙述正确 A
A)基类保护成员派生类中然保护成员
B)基类保护成员公派生类中然保护成员
C)基类保护成员私派生类中私成员
D)基类成员访问必须二义性
26虚函数调 D
A)定动态联编 B)必须动态联编
C)定静态联编 D)定动态联编
27列类函数中 C 类成员函数
A)构造函数 B)析构函数 C)友元函数 D)拷贝构造函数
28.面静态数成员描述中正确 D
A)静态数成员类体进行初始化
B)静态数成员类象调
C)静态数成员受private控制符作
D)静态数成员直接类名调
29面关友元描述中错误 D
A)友元函数访问该类私数成员
B)类友元类中成员函数类友元函数
C)友元提高程序运行效率
D)类类间友元关系继承
30.继承机制作 C
A)信息隐藏 B)数封装 C)定义新类 D)数抽象
31声明类时面说法正确 C
A)类声明中数成员赋初值
B)数成员数类型register
C)privatepublicprotected意序出现
D)没privatepublicprotected定义数成员公成员
32继承具 B 基类身某类派生类时底层派生类会动继承间接基类成员
A)规律性 B)传递性 C)重复性 D)样性
33.类定义中象分配存空间类数成员进行初始化执行部理操作函数 C
A)友元函数 B)虚函数 C)构造函数 D)析构函数
34.列关虚基类描述中错误 B
A)设置虚基类目消二义性
B)虚基类构造函数非虚基类调
C)层包含虚基类基类构造函数次序调
D)虚基类非基类派生然先调基类构造函数派生类构造函数
35重继承中公派生私派生基类成员派生类中访问性单继承规 A
A)完全相 B)完全 C)部分相部分 D)
36设置虚基类目 B
A)简化程序 B)消二义性 C)提高运行效率 D)减少目标代码
37.考虑函数原型void test(int aint b7char*)面函数调中属合法调 C
A) test(5) B)test(58) C)test(6#) D)test(00*)
38.列关构造函数描述中错误 D
A)构造函数设置默认参数 B)构造函数定义类象时动执行
C)构造函数联函数 D)构造函数重载
39关成员函数特征述描述中 A 错误
A)成员函数定置函数 B)成员函数重载
C)成员函数设置参数默认值 D)成员函数静态
40C++中开文件文件 B 建立关联关闭文件取消种关联
A)类 B)流 C)象 D)结构
二填空题
1 C++中封装性继承性______________面象程序设计三性质态性
2利成员函数双目运算符重载左操作数_____________右操作数____________this指针 成员函数参数
3派生类中基类数成员子象数成员派生类数成员初始化次序先__________________________________________基类数成员子象数成员派生类数成员
4类中允许三种访问权限数三种访问权限分_________________________________________publicprivateprotected公私保护
5类定义中数成员指针时解决浅拷贝出现运行错误方法______________编写拷贝构造函数
6C++流类库具两行基类___________ios类streambuf
7果public继承基类公成员会变成派生类______________保护成员会变成派生类______________私成员_____________公成员保护成员继承
8_________成员函数直接引类中说明非静态成员静态
9实现角度态分______________态_____________态编译时运行时
10_________象取名引入象义词引
11____________类作基类声明象抽象
12_____________种特殊成员函数象分配存空间类数成员进行初始化执行象部理操作构造函数
13满足运算符+交换性必须重载___________友元函数
14C++允许相作域相名字定义实现函数称种函数名含义现象___________函数重载
15类直接间接祖先中继承属性方法采方法提高软件______________重性
16设置友元函数目够访问该类___________私成员
17基类______成员派生类成员访问私
18通___________象调常成员函数调成员函数常
19_____________成员函数没this指针静态
20运算符重载然保持原优先级_________语法结构结合性
21类两特殊成员函数构造函数______________析构函数
22含象成员派生类构造函数执行序:先执行____________________执行________________________执行_______________________先执行基类构造函数执行象成员构造函数执行派生类构造函数
23运算符重载时函数名___________构成operator 运算符
24静态联编支持态性称__________________称静态态性编译时态性
25派生类基类情况称____________直接基类情况称__________单继承 继承
26实现运行时态性________虚函数
27调析构函数次序正调构造函数次序______________相反
28果类少纯虚函数称该类___________抽象类
29B类A类友元C类B类友元C类___________A类友元
三读程序写结果
1.
#include
int a[]{13579}
int & fun(int i)
{
return a[i]
}
void main()
{
int i
fun(3)12
for(i0i<5i++)
cout< cout<
2
#include
int n0
int & f(int m)
{
n+m
return n
}
void main()
{
f(10)+20
cout<
3
#include
class M{
public
M(int a0int b0) {xayb}
int getx() {return x}
int gety() {return y}
private
int xy
}
void main()
{
M op1(56)
int ij
iop1getx()
jop1gety()
cout< }
4
#include
void main()
{
a+0
↓
int a[10]{987654321}*pa+5
cout<<*p<
cout<
} }
5
#include
#include
class timer{
public
timer() {seconds0}
timer(int t) {secondst}
timer(int minint sec) {secondsmin*60+sec}
int gettime() {return seconds}
private
int seconds
}
void main()
{
timer ab (10)c(110)
cout<
6 (static第二次调时执行sample函数)
#include
class sample
{
public:
sample()
{cout<
void fn(int i)
{static sample c
cout<}
void main()
{fn(10)
fn(20)
}
7
#include
void main()
{
int num31246long p1
do
{
p*num10
num10
}while(num)
cout<
8.
#include
using namespace std
class Test
{
static int count
public
Test(){
++count
cout<<象数量<
~Test(){
count
cout<<象数量<
}
int Testcount0
void main()
{
Test t[2]
}
9
#include
class A
{
int a
public
void seta(int x){ax}
void showa(){cout<}
class B
{
int b
public
void setb(int x){bx}
void showb(){cout<}
class Cpublic Aprivate B
{
private
int c
public
void setc(int xint yint z)
{
cz
seta(x)
setb(y)
}
void showc(){cout<
void main()
{
C c
cseta(1)
cshowa()
csetc(123)
cshowc()
}
10.
#include
#include
class girl{
public
girl(char *nint d)
{
namenew char[strlen(n)+1]
strcpy(namen)
aged
}
friend void disp(girl &)
~girl()
{delete []name}
private
char *name
int age
}
void disp(girl &x)
{cout<
void main()
{
girl e(Chen Xingwei16)
disp(e)
}
11
#include
using namespace std
class Book
{
int numprice
public
Book(int a0int b0){numapriceb}
void showMoney(){cout<
void main()
{ Book b[]{Book(12)Book(36)Book(89)}
Book *p
int i
p&b[2]
for(i0i<3i++p)
p>showMoney()
}
12
#include
class sample
{
int n
public
sample(){}
sample(int m){nm}
int &operator(int)
{
n
return n
}
void disp(){cout<
void main()
{
sample s(10)
(s)++
sdisp()
}
13
#include
int f(int)
int main()
{ int i
for(i0i<5i++)
cout<
}
int f(int i)
{ static int k1
for(i>0i)
k +i
return k
}
14
#include
class sample
{
int x
public
sample(){}
void setx(int i){xi}
friend int fun(sample b[]int n)
{
int m0
for(int i0i
mb[i]x
return m
}
}
void main()
{
sample a[10]
int arr[]{90874278978460557865}
for(int i0i<10i++)
a[i]setx(arr[i])
cout<
四程序填空
1 面程序功定义类sample输出数成员请填空:
#include
class sample 定义类sample
{ int m
static int n 定义整型静态数成员n
public
sample(int i){n++mi}
void disp() 成员函数disp()函数首部
{cout<
int samplen0 静态数成员n赋初值0
void main()
{ sample s1(1)s2(2)
s1disp()
s2disp()
}
2
#include
using namespace std
class B1
{
public
B1(int b){b1b}
void show(){cout<
int b1
}
class B2
{public
B2(int c){b2c}
void show(){cout<
int b2
}
class B3public B1public B2
{
public
B3(int bbint ccint dd) 构造函数函数体
{b3ddB1b1bbB2b2b2}
构造函数函数体
构造函数函数体
void setall(int xint yint z) {
b1xb2yb3z }
void show(){
cout<
int b3
}
void main()
{
B3 k(123)
kshow()
ksetall(234) 重新派生类象数成员赋值
kshow()
}
3
#include
class Date{
public
Date() {} 参构造函数
Date(int yint mint d)
{
yearymonthmdayd 函数体
}
void print() const
private
int yearmonthday 数成员
}
void Dateprint()const
{
cout<
int main()
{ Date national_day(1949101)
national_dayprint()
return 0
}
4面程序功重载 运算符象s数成员n值减1
#include
class sample
{ int n
public
sample(int m){nm}
int operator(int){ n return n } 函数返回值
void disp(){cout<
void main()
{ sample s(10)
s ――运算符重载函数调
sdisp() 调成员函数disp()输出数成员值
}
五程序改错
1括号里写出正确
#include
class Vehicle
{
protected
int weight
public
Vehicle(int w){weightw}
void show(){cout<< class Vehicle <
class Boat public Vehicle
{
public
Boat(int wb)Vehicle(wb){}
void show(){cout<< 水中游 <
class Plane public Vehicle
{
public
Plane(int wp)Vehicle(wp){}
void show(){cout<< 天飞 <
class Amphibian public Boatpublic Plane
{public
Amphibian(int wa) Boat(wa)Plane(wa){}
void show(){cout<< 水中游天飞 <
void main()
{ Amphibian a
ashow()
}
2 面程序定义类point输出数成员值
#include
class point
{
public private
int xy
private public
point(int xx yy) int yy
{ xxxyyy }
void disp()
{cout<
void main()
{
point p1(34)
p1disp()错误cout<
3
#include
class M{
int ab
public
M(){ab0}
M(int aaint bb){aaabbb}
M operator + (int x)
M operator (M x)
void OutB()
{ cout<}
M operator +(M& x)
{ M r
raa+xa
rbb+xb
return r
}
M Moperator (M& x)
{ int r
raaxa
rbbxb
return r
}
void main()
{ M x(35)y(84)z1z2
z1x+yz2xy
z1OutB()z2OutB()
}
4列程序定义时钟类设置显示时间求ShowTime()函数联函数
#include
class Clock
{public
SetTime(int NewH0int NewM0int NewS0)
void ShowTime()
private
int HourMinuteSecond
}
void ClockSetTime(int NewHint NewMint NewS)
{HourNewHMinuteNewMSecondNewS}
void ClockShowTime()
{ cout<
{ Clock myClock
cout<
myClockShowTime()
cout<
myClockShowTime()
return 0
}
六编程题
1 编程序完成求:定义日期类Date该类象存放日期实现求:
1) void GetDate() 取日期值格式2009年11月4日
2) void SetDate(int yint mint d) 设置日期值
3) 函数中日期象作定义:
l Date d1(2009114)日期定义日期变量
l Date d2 定义日期象
l Date d3(d1) 已日期象构造新象
2 设计立方体类box提供立方体体积表面积采相应数进行测试 求:
1) box类包含3私数成员立方体边长avolume(体积)area(立方体表面积)
2) 两构造函数成员函数seta()(设置立方体边长)
3) getvolume()getarea()计算立方体体积表面积
4) disp()输出计算结果
#include
class box
{
public
box(int b)
{ab}
box() {}
void seta(int i)
{ai}
void getvolume()
{
volumea*a*a
}
void getarea()
{
areaa*a*6
}
void disp()
{cout<<体积<
int avolumearea
}
void main()
{
box a1(3)
a1getarea()
a1getvolume()
a1disp()
box a2
a2seta(4)
a2getarea()
a2getvolume()
a2disp()
}
3 设计描述汽车(car)公汽车(bus)卡车(truck)系统类提取中性建立基类抽象类类分显示车型载客数载重量测试类
#include
class Base
{
public
virtual void display()0
}
class carpublic Base
{
private
int numweight
public
car(int nint w) {numnweightw}
void display()
{cout<
class buspublic Base
{
private
int numweight
public
bus(int nint w) {numnweightw}
void display()
{cout<
void fun(Base *p)
{
p>display()
}
int main()
{
Base *q
car a(1223)
bus b(2132)
q&a
fun(q)
q&b
fun(q)
}
4 声明employee类中包括姓名址邮编电话属性
1) 构造函数构造函数重载完成数初始化
2) Chang_name()函数改变象姓名属性
3) Display()函数显示
4) 测试类
#include
#include
using namespace std
class employee
{
public
employee()
{
strcpy(nameLijiawei)
strcpy(addrTianJin)
postcard300380
tele4817255
}
employee(char name2[]char addr2[]int cardint phone)
{
strcpy(namename2)
strcpy(addraddr2)
postcardcard
telephone
}
void change_name(char name3[])
{
strcpy(namename3)
}
void display()
{
cout<<姓名<
private
char name[20]addr[30]
int postcardtele
}
int main()
{
employee myp1myp2(LiujiaweiSJZ150235225836)
myp1display()
myp2display()
myp1change_name(Lihuan)
myp1display()
}
#include
#include
using namespace std
class employee
{
public
employee() { name张三street南街zip1234 tele48172}
employee(string nstring sint tstring z)
{namenstreetszipztelet}
void change_name(string n)
{namen}
void disp()
{cout<<姓名<
string namestreetzip
int tele
}
void main()
{
employee a
adisp()
achange_name(佳炜)
adisp()
employee b(李欢石家庄151311390456)
bdisp()
}
5 编写程序设计类score统计班学生成绩中静态数成员sumfs存储总分静态成员函数rsumfs()返回该总分
#include
class score
{
public
score(double n)
{
numn
sumfs+num
}
static double rsumfs()
{return sumfs}
private
double num
static double sumfs
}
double scoresumfs0
void main()
{
score a(45)
score b(54)
cout<
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档