新标准C++程序设计教材11-20章课后题答案
第11章:
1.简述结构化程序设计有什么不足,面向对象的程序如何改进这些不足。
  答案:
  结构化程序设计的缺点:
(1)用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。
  (2)用系统开发每个阶段的成果来进行控制,不适应事物变化的要求。
  (3)系统的开发周期长。
  面向对象的程序设计如何改进这些不足:
    面向对象程序设计技术汲取了结构忧程序设计中好的思想,并将这些思想与一些新的、强大的理念相结台,从而蛤程序设计工作提供了一种全新的方法。通常,在面向对象的程序设计风
格中,会将一个问题分解为一些相互关联的子集,每个子集内部都包含了相关的数据和函数。同时会以某种方式将这些子集分为不同等级,而一个对象就是已定义的某个类型的变量。
2.以下说怯正确的是(  )。
  A.每个对象内部都有成员函数的实现代码
  B.一个类的私有成员函数内部不能访问本类的私有成员变量
  C.类的成员函数之间可以互相调用
  D.编写一个类时,至少要编写一个成员函数
 
  答案:C
3.以下对类A的定义正确的是(  )。
  A.class A{                                B.class A{
          private: int v;                                  int v;  A * next;
            public: void Func() {}                          void Func() {}
      }                                        };
  C.class A{                                D. class A{
            int v;                                  int v;
      public:                                public:
            void Func();                            A next;
      };                                            void Func() {}
      A::void Func() { }                            };
  答案:B
4.假设有以下类A:
  class A{
      public:
        int func(int a) { return a * a; }
    };
    以下程序段不正确的是(  )。
    A.A a;    (5);
    B.A * p = new A;        p->func(5);
    C.A a;    A&r =a ;        (5);
    D.A a,b;    if(a!=b)        (5);
    答案:D
5.以下程序段不正确的是(A)。
  A.int main() {
        class A { int v; }
        A a;    = 3;    return 0;
  B.int main() {
        class A { public:  int v;  A * p;  };
        A a;    =&a;    return 0;
  C.int main() {
        class A { public:  int v;  };
        A * p = new A;
魔兽世界安装程序        p-> v =4;  delete p;
        return 0;
    D. im main() {
        class A { public:  int v;  A * p; };
        A a:    a. p = new A;  delete ;
        return 0;
    答案:A
  6.实现一个学生信息处理程序。输入:姓名,年龄,学号(整数)。第一学年平均成绩·
    第二学年平均成绩,第三学年平均成绩,第四学年平均成绩。输出:姓名,年龄,学号,
    4年平均成绩。例如:
    输入: Tom 18  7817  80  80  90  70
    输出: Tom,18,7817,80
    要求实现一个代表学生的类,并非所有成员变量都是私有的。
    答案:
#include <iostream>
#include<cstring>
#include<cstdlib>
面程序的输出结构是:
5,5
5,5
请填空:
#include<iostream>
using namespace std;
class Base{
    public:
    int k;
    Base(int n):k(n){
    }
};
class Big {
    public:
        int v;
        Base b;
        Big __________ {
        };
        Big___________ {
        };
};
int main(){
    Big a1(5);
    Big a2=a1;
    cout<<<<","<<    cout<<<<","<<    return 0;
}
答案:
(int n):v(n),b(n)
(Big &x):v,b完成附录“魔静世界大作业”中提到的第一阶段作业
(省略)
第13章
1如果将运算符“[]”重载为某个类的成员运算符(也即成员函数),则该成员函数的
参数个数是(  )。
A.0个    B . 1个    C . 2个    D.3个
答案:B
    2.如果将运算符“*”重载为菜个类的成员运算符(也即成员函数),则该成员函数
参数个数是(  )。
A.0个    B . 1个    C . 2个    D . 0个或1个均
答案:D
3.下面程序的输
  3+4i
  5+6i
请补充Complex类的成员函数,不能加成员变量。
#include<iostream>
#include<cstring>
using namespace std;
class Complex{