C++小练习.docVIP

  • 12
  • 0
  • 约2.15千字
  • 约 3页
  • 2018-12-21 发布于河北
  • 举报
C小练习

一.填空题 1.1 类定义的关键字是 。类的数据成员通常指定为 成员。类的函数成员通常指定为 成员,指定为 公有 的类成员可以在类对象所在域中的任何位置访问它们,类的 只能被该类的成员函数或友元函数访问。 1.2类的访问限定符包括 、 和 。类成员默认的访问方式是 。访问限定符在类中 先后次序,各限定符 允许 (允许/不允许)多次出现。 1.3 构造函数的任务是 。类中可以有 个构造函数,它们由 区分。如果类说明中没有给出构造函数,则C++编译器会提供构造函数,该函数 (完成/不完成)对象初始化工作。 1.4拷贝构造函数的参数是 ,当程序没有给出拷贝构造函数时,编译系统会提供 ,完成类对象的 。拷贝构造函数被调用情况有 种。 1.5析构函数在对象 时被自动调用。类中没有定义析构函数时,编译系统会提供一个默认的析构函数。该函数 (完成/不完成)具体对象的清理工作。 二.选择 1. 下列说法中正确的是( )。 A.类定义中只能说明函数成员的函数头,不能定义函数体 B.类中的函数成员可以在类体中定义,也可以在类体之外定义 C.类中的函数成员在类体之外定义时必须要与类声明在同一文件中 D.在类体之外定义的函数成员不能操作该类的私有数据成员 2. 有如下类定义: class sample { int n; public: sample (int i=0):n(i){ } void setValue(int n0); }; 下列关于setValue成员函数的实现中,正确的是( )。 A.sample::setValue(int n0){n=n0;} B.void sample::setValue(int n0){n=n0;} C.void setValue(int n0){n=n0;} D.setValue(int n0){n=n0;} 3. 在下面的类定义中,错误的语句是( )。 class sample{ public: sample(int val); //① ~sample( ); //② private: int a=2.5; //③ public: sample( ); //④ }; A.① B.② C.③ D.④ 4. 类的构造函数被自动调用执行的情况是在创建该类的( )。 A.成员函数时 B.数据成员时 C.对象时 D.友元函数时 5. 关于成员函数特征的下述描述中,( )是错误的。 A.成员函数一定是内联函数 B.成员函数可以重载 C.成员函数可以设置参数的默认值 D.成员函数可以是静态的 三. 写出程序程序执行结果 1. #includeiostream using namespace std; class Test { public: Test( ) { n+=2; } ~Test( ) { n-=3;} static int getNum( ) { return n;} private: static int n; }; int Test::n=1; int main( ){ Test* p = new Test; delete p; cout”n=”Test::getNum( )endl; return 0; } 2. #includeiostream using namespace std; class MyClass { public: int number; void set(int i); }; int number=3; void MyClass::set (int i){ number=i; } void main( ){ MyClass my1; int number=10; my1.set(5); coutmy1.numberendl; my1.set(number); coutmy1.numberendl; my1.set(::number); coutmy1.number; } 四。编程 1.编写一个程序,已有若干个学生数据,这些数据包括学号、姓名、语文成绩、数学成绩和英语成绩,求各门功课的平均分。要求设计不同的成员函数求各门课程的平均分。 2. 设计一个学

文档评论(0)

1亿VIP精品文档

相关文档