《C++程序设计》20春东师离线考核

所属学校:东北师范大学 科目:C++程序设计 2020-06-29 14:03:53 离线 程序设计 春东师
离线考核
《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
#include
class CTest{
public:
    const int y2;
    CTest(int i1, int i2,int i3):y1(i1),y2(i2)
    {  x=i3;  }
    int show() const{cout<<"y1="<         //…
private:
     int x;
     const int y1;
};
void main()
{
    CTest c(1,2,3);
    c.show();
    c.y2 = -2;
c.show();
}
答: 3.写出下面程序的输出结果。
#include
class B
{ int b;
  public:
  B(int i) {b=i;}
  virtual void virfun() {cout<< "B::b: "< };
class D: public B
{ public:
  D(int i,int j): B(i) {d=j;}
  void virfun() {B::virfun(); cout<<"D::d: "<   private: int d;
};
void fun(B *objp) { objp->virfun(); }
void main() { D *pd=new D(3,5) ; fun(pd);}
答:4. 写出下面程序的运行结果。
#include
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<     cout<     return 0;
}
答:三、完成程序题(每小题10分,共20分。)1.请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为5。
#include
class Integer
{
  int x;
public:
  Integer(int a=0){x=a;}
  void display( ){cout<   ①                  ;
};
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,包含三角形三条边长的私有数据成员,另有一个重载运算符“+”,以实现求两个三角形对象的面积之和。 答案{q+1,6 4。7861640},
版权声明

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系本站我们将配合处理!

分享: