C. 使用new运算符创建的对象可以使用delete运算符删除 D. new运算符可以用来动态创建对象和对象数组 12、下面关于成员函数的特征中,说法错误的是(C)。
A. 成员函数可以重载 B. 成员函数可以是静态的 C. 成员函数一定是内联函数 D. 成员函数可以设置参数的默认值
13、在通常情况下,复制构造函数的参数是(A)。
A. 某个对象的引用名 B. 某个对象名 C. 某个对象的成员名 D. 某个对象指针名
14、在类体外定义成员函数时,需要在函数名前加上(C)。
A. 类对象 B. 类标记
C. 类名和作用域运算符 D. 域运算符
15、下面关于时间类Time定义的说法中,正确的是( D )。
Time time1,time[30]; Time *pTime; Time &time2=time1;
A. time[30]是一个数组,它具有30个元素
5
B. pTime就是指向Time类对象的指针
C. time2是一个类对象引用,定义时必须对其进行初始化,使之成为对象time1的别名 D. 以上答案都正确
三、 判断题
1、任何一个对象只能属于一个具体的类。 2、构造函数可以有参数,但不可以有返回值。 3、一个类可以有多个构造函数,也可以有多个析构函数。 4、对一个类中数据成员的初始化可以通过构造函数中的参数初始化表实现5、使用new运算符动态创建对象数组时必须指定初始值。 6、一个类的所有对象都有各自的数据成员,它们共享成员函数。 7、一个类中可以有多个同名的成员函数。 8、类成员的定义可以是数据成员在前,成员函数在后。 9、类的静态成员函数的初始化工作要放在类外进行。 10、类与对象的关系和数据类型与变量的关系相似。 四、 分析题
1、
#include
void set(int y, int m, int d); void print(); private:
对
对 错 对 错 对 对 对 错 对
6
int year, month, day; };
void Date::set(int y, int m, int d) {
year = y; month = m; day = d; }
void Date::print() {
cout< void main() { Date t1; t1.set(2005,3,3); t1.print(); } 2005.3.3 2、 #include Date (); Date (int y, int m, int d); void print(); private: int year, month, day; 7 }; Date:: Date ():year(2005),month(3),day(15) { } Date:: Date (int y, int m, int d):year(y),month(m),day(d) { } void Date::print() { cout< } void main() { Date t1,t2(2005,3,18) ; t1.print(); t2.print(); } 2005.3.15 2005.3.18 3、 # include