广州大学2005-2006学年C++考试试卷B卷

更新时间:2023-07-01 10:35:34 阅读: 评论:0

广州大学2005-2006学年第1学期考试B
课程面向对象程序设计考试形式(开/闭卷,考试/查)
一、 填空题:(10分,每个空格1)
1、一个类的每个成员函数中都默认有一个所属类的指针参数,其名字由系统规定为 this      ,它是一个C++保留字。
2、类是一种用户定义的类型,它由两大成员组成,其中用 数据      成员来描述同类事物的属性,用  函数      成员来描述它们的行为。
3. 重载运算符函数的函数名由关键字__operator________引出。
4. 利用成员函数对二元运算符重载,其左操作数是__this指针______,右操作数是_成员函数参数______。 
5.如果类student继承了类person,则类student称为___派生类_______,类person称为___基类______。
6.多态是指类中具有相似功能的不同函数使用同一名称来实现的现象,是通过__重载函数________和___虚函数________ 等技术来实现。
二.是非题(回答“Y”或“N”, 10anb分,每小题1分)
1、友员可以访问类的所有成员。(    Y   
2、若FA的友员,则AFhelmet怎么读的友员。N      )
3、友员函数没有this指针。(    Y      )
4、一个派生类保护继承一个基类时,基类中所有公有成员同时成为派生类的公有成员。(      N       
5、一个派生类私有继承一个基类时,基类中所有保护成员同时成为派生类的私有成员。(      Y       
6、重载一个虚函数时,要求函数名、返回类型、参数个数、参数类型和顺序完全相同。(    Y     
7、构造函数可以是虚函数。(    N   
8、析构函数可以是虚函数。(    Y     
9、抽象类至少有一个纯虚函数。(    Y     
10、类模板就是模板类。(    N      )
三.选择题  20分,每小题2分)
1、关于类和对象不正确的说法是( C )。
加拿大卡尔加里大学A)类是一种类型,它封装了数据和操作;
B)对象是类的实例;
C)一个类的对象只有一个;
D)一个对象必属于某个类。
2.填空选择   
#include<iostream.h>
class Ba
{
public:
  void fun(){cout<<”Ba::fun”<<endl;}
};
class Derived:public Ba
{
  void fun()
  {
    ___B________ ;  //显式调用基类的函数fun()
cout<<”Derived::fun”<<endl;
  }
查询四级准考证号};
A.)  fun()    B)  Ba::fun()    C).  Ba.fun()    D)  Ba->fun()
3.派生类的对象对它的基类成员中__C______是可以访问的。 
A. 公有继承的保护成员                B. 公有继承的私有成员
C. 公有继承的公有成员                D. 私有继承的公有成员
4.下列虚基类的声明中,正确的是___D_____。       
A. class virtual B: public A              B. virtual class B: public A
C.class B: public A virtual              D. class B: virtual public A
5.C++的类有两种,一种是类的实例化,另一种是通过__A____派生的类。
A) 继承    B) 复用  C) 封装    D) 引用
6.下列的描述中,错误的是___B______。
A) 一个派生类可以作为另一个派生类的基类;
B) 派生类只继承了基类的公有成员和保护成员
C) 派生类的缺省继承方式是private ;
D) 派生类至少由一个基类。
7.下面的描述中,正确的是____C_____。
A) 虚函数是一个静态成员函数;
B) 虚函数是一个非成员函数;
C) 派生类的虚函数与基类中对于的虚函数具有相同的参数个数和类型;
D) 虚函数可以在函数说明时定义,也可以在函数实现时定义。
8.实现运行时的多态性要使用_____D_____. 
A) 重载函数  B) 构造函数    C) 析构函数    D) 虚函数
9.在下面程序中,A、B、C、D四句编译时出错的是____C_____。
class ba                //  A)
sdhc
{
public:                //  B)
  ba(){func();}        //  C)
  virtual void func()=0;  //  D)
};
10.下面对模板的声明中,正确的是__船期英文C______。
A) template<T>                B) template<class T1,T2>
C) template<class T1,class T2>        B) template<class T1;class T2>
四.阅读程序,写出下列程序的运行结果  (40分,每小题5)
1.写出程序的运行结果
#include <iostream.h>
enum BREED { GOLDEN, CAIRN, DANDIE, SHETLAND, DOBERMAN, LAB };
class Mammal
{
public:
    // constructors
    Mammal():itsAge(2), itsWeight(5){}
    ~Mammal(){}
    //accessors
    int GetAge() const    { return itsAge; }
    void SetAge(int age) { itsAge = age; }
    int GetWeight() const { return itsWeight; }
    void SetWeight(int weight) { itsWeight = weight; }
    //Other methods
    void Speak()const { cout << "Mammal sound!\n"; }
    void Sleep()const { cout << "shhh. I'm sleeping.\n"; }
protected:
    int itsAge;
    int itsWeight;
};
class Dog : public Mammal
{英语演讲主题
public:
    // Constructors
    Dog():itsBreed(GOLDEN){}
    ~Dog(){}
    // Accessors
    BREED GetBreed() const { return itsBreed; }
    void SetBreed(BREED breed) { itsBreed = breed; }
    // Other methodsbloomers
    void WagTail() const { cout << "\n"; }
编程java培训班    void BegForFood() const { cout << "Begging \n"; }
private:
    BREED itsBreed;
};
int main()
{
    Dog fido;
    fido.Speak();
    fido.WagTail();
    cout << "Fido is " << fido.GetAge() << " years old\n";
    return 0;
}
程序的运行结果为:
Mammal sound!
Tail wagging …
Fido is 2 years old
健康管理师培训   
2.写出程序运行结果
#include <iostream.h>
class B1
{
public:
    int nv;
    void fun(){cout<<"Member of B1."<<endl;}

本文发布于:2023-07-01 10:35:34,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/163539.html

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

标签:函数   成员   基类
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图