skystar 发表于 2020-9-8 10:30:00

东师范2020年春季《C++程序设计(高起专)》离线考核答案参考


离线考核
《C++程序设计(高起专)》

100分
一、10分,共40分。)
1.什么是类?什么是对象?对象与类的关系是什么?
2.什么是多态性?请举例说明。
3.虚函数是否一定要有virtual关键字?什么叫纯虚函数和抽象类?多态调用需要满足怎样的条件?
4.简述结构化的程序设计、面向对象的程序设计的基本思想。
二、程序分析题(10分,共40分。)
1. 指出下列程序中的1处错误,并说明为什么。
class Location {
   int X,Y=20;
protected:
   int zeroX,zeroY;
   int SetZero(int ZeroX,int ZeroY);
private:
   int length,height;
public:
   void init(int initX,int initY);
   int GetX( );
   int GetY( );
};
答:

2.指出下列程序中的1处错误,并说明为什么。
  #include<iostream.h>
  #include<stdlib.h>
  class CTest{
  public:
      const int y2;
      CTest(int i1, int i2,int i3):y1(i1),y2(i2)
      {x=i3;}
      int show() const{cout<<"y1="<<y1<<"\ny2="<<y2<<"\nx="<<x<<endl;}
        //…
  private:
     int x;
     const int y1;
  };
  void main()
  {
      CTest c(1,2,3);
      c.show();
      c.y2 = -2;
      c.show();
  }
  答:
  
3.写出下面程序的输出结果。
   #include <iostream.h>
   class B
   { int b;
   public:
   B(int i) {b=i;}
   virtual void virfun() {cout<< "B::b: "<<b<<" , ";}
   };
   class D: public B
   { public:
   D(int i,int j): B(i) {d=j;}
   void virfun() {B::virfun(); cout<<"D::d: "<<d<<endl;}
   private: int d;
   };
   void fun(B *objp) { objp->virfun(); }
   void main() { D *pd=new D(3,5) ; fun(pd);}
  答:
  
4. 写出下面程序的运行结果。
#include<iostream.h>
class example
{
public:
    example(int n)
    {
      i=n;
      cout<<"Constructing\n";
    }
    ~example()
    {cout<<"Destructing\n";}
    int get_i()
    {return i;}
private :
    int i;
};
int sqr_it(example o)
{    return o.get_i()*o.get_i();    }
main ()
{
    example x(10);
    cout<<x.get_i()<<endl;
    cout<<sqr_it(x)<<endl;
    return 0;
}
答:

三、完成程序题(更多答案下载:谋学网(www.mouxue.com)10分,共20分。)

1.请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为5。
  #include<iostream.h>
  class Integer
  {
    int x;
  public:
    Integer(int a=0){x=a;}
    void display( ){cout<<x<<endl;}
    ①                ;
  };
  Integer Max(Integer a,Integer b)
  {
    if(②                    )
      return a;
    return b;
  }
  void main( )
  {
    Integer a(3),b(5),c;
    c=Max(a,b);
    c.display( );
  }

2. 设计一个三角形类Triangle,包含三角形三条边长的私有数据成员,另有一个重载运算符“+”,以实现求两个三角形对象的面积之和。
页: [1]
查看完整版本: 东师范2020年春季《C++程序设计(高起专)》离线考核答案参考