#include <iostream> using namespace std; class Base{ public: Base(){} Base(int c):count(c){} virtual void print()=0;//纯虚函数,说明是抽象类,不能定义对象 private: int count; }; class Derived:public Base{ public: Derived():Base(0){} Derived(int c):Base(c){} void print(){cout<<“Derived”<<endl;} }; void main(){ Derived d(10); Base *pb; pb=&d; //A(只能将父类引用赋值给子类对象) Base &cb=d; Derived dd=*pb; //B Derived &cd=cb; //C Base bb=d; //D }
class Y{ //……; public:static int n; }; int Y::n;//作用域运算符是通过类来实现的 Y objY; A.n=1; B. Y::n=1; C.objY::n=1; D.Y->n
A.派生类共偶遇继承基类时,可以访问基类的所有数据成员,调用所有成员函数。 B.派生类也是基类,所以它们是等价的。 C.派生类对象不会建立基类的私有数据成员,所以不能访问基类的私有数据成员。 D.一个基类可以有多个派生类,一个派生类可以有多个基类。
class test{ private: int f1; public: test(test &); }; test::test(test& t){ f1=t.f1; } A.test(test&)是拷贝构造函数 B.拷贝构造函数可以访问该类任何对象的私有成员 C.test obj2(obj1);用对象obj2初始化具有徐昂同类型的对象obj1 D.拷贝构造函数必须用它所在类的引用作为参数
6. 用C++语言编制的源程序要变为目标程序必须要经过( D ) A.解释 B.汇编 C.编辑 D.编译 7. C++程序中最简单语句必须以( B )结束 A.冒号 B.分号 C.空格 D.花括号 8. 有说明int a=0;double x=5.16;以下语句中,( C )属于编译错误的。 A.x=a/x; B.x=x/a; C.a=a%x; D.x=x*a; //取膜两边的数必须一致 9. 下面对友元函数的错误叙述是( D ) A.关键字friend用于声明成员 B.一个类中的成员函数可以是另一个类的友员 C.友元函数访问对象的成员不受访问特性影响 D.友元函数通过this指针访问对象成员 //不属于这个类,没有this指针 10. 下列关于运算符重载的描述中,( D )是正确的 A.可以改变参与运算的操作数个数 B.可以改变运算符原来的优先级 C.可以改变运算符原来的结合性 D.能改变原运算符的语义 11. 当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为( B ) A.public 成员 B.private 成员 C.protected 成员 D.友元 12. 不论派生类以何种方式继承基类,都不能直接使用基类的( B ) A.public 成员 B.private 成员 C.protected 成员 D.友元 13. 在C++中,可以被派生类继承的函数是( A ) A.成员函数 B.构造函数 C.析构函数 D.友元函数 14. C++中,要实现动态联编,必须使用( D )调用虚函数 A.类名 B.派生类指针 C.对象名 D.基类指针 15. 虚析构函数的作用是( C ) A.虚基类必须定义虚析构函数 B.类对象作用域结束时释放资源 C.delete动态对象时释放资源 D.无意义 16. 若一个类中含有纯虚函数,则该类称为( C ) A.基类 B.纯基类 C.抽象类 D.派生类 17. 假设Aclass为抽象类,下列正确的说明语句是( B ) A.Aclass fun( int ); B.Aclass *p; C.int fun(Aclass ); D.Aclass Obj; //抽象类只能定义指针*或引用&,为了保证运行时的多态性 18. 下面描述中,正确的是( D ) A.虚函数是没有实现的函数 //纯虚函数 B.纯虚函数是返回值等于0的函数 //没有返回值 C.抽象类是只有纯虚函数的类 D.抽象类指针可以指向不同的派生类 19. 下面对构造函数的不正确描述是( B ) A.系统提供默认的构造函数 B.构造函数可以有参数,所以也可以有返回值 //没有返回值 C.构造函数可以重载 D.构造函数可以设置默认参数 20. 关于类的静态成员的不正确描述是( D ) A.静态数据成员不属于某个对象,是类的共享成员 B.静态数据成员要在类外定义和初始化 C.静态成员函数不拥有this指针,需要通过类参数访问对象成员 D.只有静态成员函数可以操作静态数据成员 //间接访问非静态数据成员 |
|
来自: _bolo > 《OrientedObjectC 》