2011-2012-1学期 c++第7章-类及对象2-习题学生-20110921.pptVIP

  • 16
  • 0
  • 约3.44千字
  • 约 17页
  • 2017-06-19 发布于湖北
  • 举报

2011-2012-1学期 c++第7章-类及对象2-习题学生-20110921.ppt

c++ 第7章-类和对象2 习题 胡凤珠 7.1 判断题 × 1.定义对象指针时也要调用构造函数。 √ 2.对象指针可用同类对象的地址值给它赋值。 × 3.对象指针成员表示与对象引用相同。 √ 4.常类型指针有两种,一种是指针的地址值是常量,另一种是指针所指向的变量或对象是常量。 × 5.指向对象的常指针的地址值是可以改变的。 × 6.指向常对象的指针所指向的对象是可以改变的。 √ 7.this指针是系统生成的指向当前被某个成员函数操作对象的指针。 × 8.对象引用可以用一个同类对象的地址值对它赋值。 × 9.定义对象引用时,可以对其引用进行初始化,也可以不进行初始化。 × 10.对象数组的元素可以是不同类的对象。 指向对象的常指针, Date d1,d2; Date *const pd=d1; 指向常对象的指针 const Date d1(2005,7,1); const Date *pd=d1; A a(7); const A ra=a; × 11.对象指针数组可以使用不同类的对象的地址值进行初始化。 × 12.给对象数组元素赋值时都要创建临时对象。 √ 13.指向一维对象数组的指针是一个二级指针。 × 14.自身类对象可作该类的子对象。 √ 15.子对象的初始化要在构造函数的成员初始化列表中进行。 √ 16.使用new运算符创建的对象称为堆对象。 X 17.任何对象都可以使用delete运算符来释放。 × 18.使用new运算符创建的对象数组其元素都具有默认值。 √ 19.类的作用域范围指的是类体内。 × 20.对象的存储类只有外部的和静态的。 17举例 #include iostream.h class C { public: C(int i) { c=i; } C() { c=0; coutDefault constructor called.cendl; } ~C() { coutDestructor called.cendl; } void Print() { coutcendl; } private: int c; }; void main() { C ss(9); C *p; // C *q=ss; p=new C[4]; int n=1; for(int i=0;i4;i++) p[i]=C(n++); for(i=0;i4;i++) p[i].Print(); delete []p; delete ss; // delete q; } 7.2 单选题 1.f1()函数是类A的公有成员函数,p是指向类的成员函数f1()的指针,下列表示中正确的是( C )。 A.p=f1() B.p=f1 C.p=A::f1 //函数名代表函数入口地址 D.p=A::f1() 2.p是指向类A数据成员a的指针,a是类A的一个对象。在给a成员赋值为5的下列表达式中,正确的是( C )。 A.a.p=5 B.a-p=5 C.a.*p=5 D.*a.p=5 3.void Set(A a);是类A中一个成员函数的说明,其中Aa的含义是( A )。 A.类A的对象引用a作该函数的参数 B.类A的对象a的地址值作函数的参数 C.表达式变量A与变量a按位与作函数参数 D.指向类A对象指针a作函数参数 p为指向函数的指针变量,该函数返回一个整型值 int (*p)(); 4.已知:const A a;其中A是一个类名,指向常对象指针的表示为( B )。 A.const * A pa; B.const A *pa; C.A * const pa; D.const *pa A; 5.下列关于子对象的描述中,错误的是( D )。 A.子对象不可以是自身类的对象 B.子对象是另一个类的对象 C.子对象的初始化要包含在构造函数中 D.一个类中只能有一个子对象 6.执行下列说明语句,其调用构造函数的次数为( A )。 A a[5],*p[2];(对象指针数组)其中,A是一个类名 A.5 B.6 C.

文档评论(0)

1亿VIP精品文档

相关文档