while(*t!='\\0')t++;return(t-s);}第3章类和对象
一、选择题1、有关类的说法不正确的是()。A类是一种用户自定义的数据类型.B只有类中的成员函数才能存取类中的私有成员.C在类中,如果不做特别说明,所指的数据均为私有类型.D在类中,如果不做特别说明,所指的成员函数均为公有类型。2、下面说法正确的是()。A类定义只能说明成员函数头,不能定义函数体B类中的函数成员可以在类体中定义,也可以在类体之外定义C类的函数成员在类体之外定义时必须要与类声明在同一函数中D在类体之外定义的函数成员不能操作该类的私有数据成员3、已知类X中的一个成员函数说明如下:VoidSet(x&a);其中,X&a的含义是()。A指向类X的指针为aB将a的地址赋给变量SetCa是类X的对象引用,用来做为Set()的形参D变量X是a按位相与作为函数Set()的参数4、有关类和对象的说法不正确的是()。A对象是类的一个实例B一个类只能有一个对象C任何一个对象只能属于一个具体的类D类与对象的关系和数据类型和变量的关系相似5、下面对于对象概念描述中,错误的是()。A对象就是C语言中的结构体变量B类中的函数成员可以在类体中定义,也可以在类体之外定义C类中的函数成员在类体之外定义时必须要与类声明在同一文件中D在类体之外定义的函数成员不能操作该类的私有数据成员6、关于常数据成员的说法不正确的是()。A常数据成员的定义形式与一般常量的定义形式相同,只不过常数据成员的定义必须出现在类体中.B常数据成员必须进行初始化,并且不能被更新C常数据成员通过构造函数的成员初始化列表进行初始化D常数据成员可以在定义时直接初始化7、下列关于成员访问权限的描述中,不正确的是()。A公有数据成员和公有成员函数都可以被类对象直接处理B类的私有数据成员只能被公有成员函数以及该类的任何友元类或友元函数访问C保护成员在派生类中可以被访问,而私有成员不可以D只有类或派生类的成员函数和友元类或友元函数可以访问保护成员8、类定义的内容允许被其他对象无限制地存取是()。Aprivate部分Bprotected部分Cpublic部分D以上都不对9、下列不是构造函数的特征的是()。A构造函数的函数名与类名相同B构造函数可以重载C构造函数可以设置默认参数D构造函数必须指定类型说明10、有关析构函数的说法不正确的是()。A析构函数有且仅有一个B析构函数和构造函数一样可以有形参C析构函数的功能是用来释放一个对象D析构函数无任何函数类型11、下列的各类函数中,不是类的成员函数的是()。A构造函数B析构函数C友元函数D拷贝构造函数12、关于对象成员的构造函数的调用顺序,说法正确的是()。A与它们在成员初始化列表中给出的顺序相同B与析构函数的调用顺序相同C与它们在类中说明顺序相同D以上说法都不对13、下面说法中正确的是()A一个类只能定义一个构造函数,但可以定义多个析构函数B一个类只能定义一个析构函数,但可以定义多个构造函数C构造函数与析构函数同名,只要名字前加了一个求反符号(~)D构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以二、填空题1、类的只能被该类的成员函数或友元函数访问。2、类的数据成员不能在定义时初始化,而应该通过初始化。3、类的成员的可访问性可分为三类:、、。4、类成员默认的访问方式是。5、类的可以被类作用域内的任何对象访问。6、声明完类之后,就可以使用类来定义对象了,这个过程称为。7、类中有两类成员,一类是,用来描述对象的静态属性;另一类则是,用来描述对象的动态行为。8、通过指针访问公有成员是使用“”运算符,通过对象访问公有成员是使用“”运算符。9、假定AB是一个类,则语句是该类拷贝构造函数的原形说明。10、析构函数在对象的时被自动调用,全局对象和静态对象的析构函数在调用。三、程序分析题1、写出程序的运行结果#include

