信息安全2009C++语言程序设计考试试题

更新时间:2023-05-14 19:45:29 阅读: 评论:0

东北林业大学
2009—2010画画图片大全风景学年第二学期考试试题
考试科目:C++程序设计  考试时间:120分钟  试卷总分:100
题号
平时分
总分
得分
评卷教师
得分:    一、选择题(每题2分,共26分)
1、假设已经有定义 const char  *const name=”chen”,下面语句中正确的是( D )。
    A) name[3]=’b’;        B)name=”Lin”
有前景的行业
C) name=new char[6];    D)cout<<name[2];
2、以下语句错误的是( D)。
A) int  *p=new int(10);      B)int  *p=new int[10];
  C) int  *p=new int;        D) int  *p=new int[10](0);
3如果在基类中将show 声明为不带返回值的纯虚函数,正确的写法是(C )
A)virtual show()=0;
B) virtual void show();
C) virtual void show()=0;
D) virtual show()=0 virtual;
4构造函数是在( B  )时被执行的。
A)程序编译。  B)创建对象。C)创建类。  D)程序装入内存
5在声明类时,下面的说法正确的是(C )。
爱的天堂A) 可以在类的声明中给类的数据成员赋初值。
B) 数据成员的数据类型可以是register
C) privatepublicprotected可以按任意顺序出现。
D) 没有用privatepublicprotected定义的数据成员是公有成员。
6、要实现动态联编,派生类中的虚函数( D )。
A)荷花作文600字返回的类型可以与虚函数的原型不同。
    B) 参数个数可以与虚函数的原型不同
C) 参数类型可以与虚函数的原型不同。
  D)以上都不对
7假设定义了函数摸板
template<class  T>
T  max(T x, T y)
{return (x>y)?x:y;}
并定义了  int i;char  c;错误的调用语句是(D 
A)max(i,i);  B)max(c,c);  C)max((int)c,i)  D)max(i,c);
8关于析构函数,正确的是( B )
A) 一个类中可以定义多个析构函数.
B) 析构函数名与类名完全相同且前面有~.
C) 打狗棍戴若男析构函数必须指定返回类型.
D) 析构函数必须有多个参数.
9、以下说法正确的是( A
A) 基类的指针可以指向它公有派生类的对象
B) 派生类的指针可以指向基类的对象
C) 基类的指针可以指向它私有派生类的对象
D) 基类的指针可以指向任何类的对象
10、摸板的使用是为了()。
A) 提高代码的可重用性  B)提高代码的运行效率
C)加强类的封装性      D)实现多态性
11使用派生类的主要原因是(
  A)提高代码的可重用性;B) 提高程序的运行效率;
  C) 加强类的封装性;  D) 实现数据的隐藏。
12、假设已经定义好了一个类student,现在要定义类derived,它是从student私有派生的,定义类derived的正确写法是( C  )
A)class derivedstudent private{//…};
B) class derivedstudent public{//…};
C) class derivedprivate student{//…};
D) class derivedpublic student{//…};
13. 下列关于派生类构造函数和析构函数的说法中,错误的是D
A)派生类的构造函数会隐含调用基类的构造函数
B)如果基类中没有缺省构造函数,那么派生类必须定义构造函数
C)在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数
D)在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数
得分:  二、指出下列各程序中的错误并说明为什么。(每题4分,共12分)
1class student
  {int sno,age;
  void printstu()
{cout<<”Sno is ”<<sno<<”,”; cout<<”age is ”<<age<<endl;}
void tSno(int s){sno=s;}
void tAge(int a){age=a;}}
void main()
{student  myst;
myst.tSno(20091);
myst.tAge(17);
myst.printstu();
}
2class point
{public:
  int x,y;
  private:
  point(){x=1;y=2;}
};
void main()
{point cp;  cp.x=2;}
3学习摄影class myclass
  {char name[20];
int age;
void print();
}
void main()
{myclass p1,p2; p1.age=25;//…}
得分:  三、写出以下程序的运行结果。(每题5分;共35分)
Template<class T1,class T2>
class  myclass
{public:
myclass(T1 a,T2 b){i=a;j=b;}
void show(){cout<<i<<’  ’ <<j<<endl;}
private:
  T1  i;  T2  j;
}
void main()
{myclass <int,double>  ob1(10,2.34);
myclass<char,char*>  ob2(’X’,  ”This is a  test”);
ob1.show();
ob2.show();早晨的祝福语
2class ba
{public:
    ba(int n){a=n;cout<<Constructing  ba class\n;}
~ba(){cout<<Destructing  ba class\n;}
  Void show(){cout<<”a=”<<a<<endl;}
  private:
int a;
};
大皮皮虾 class derived:public ba
{private:
int b;
public:
Derived(int x,int y):ba(x)
{b=y*2;  cout<< Constructing  derived class<<endl;}
~derived(){cout<< destructing  derived class<<endl;}
void show()
{ba::show();
Cout<<”b=”<<b<<endl;}
};
Void main()
{derived obj(10,12);
Obj.show();}
3class circle{
    protected:
    int r;
    public:
    void tr(int x){r=x;}
    virtual void show()=0;};
  class area:public circle{
public:
virtual void show()
{cout<<area  is  <<3*r*r<<endl;}
};
class perimeter:public  circle{
public :
void show()
{cout<<perimeter  is  <<2*3*r<<endl;}
void main()
{ circle *ptr;
area ob1
  perimeter ob2;
  (9);
(10);

本文发布于:2023-05-14 19:45:29,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/631368.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   派生类   程序
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图