int Y; public:
Base(int y=0) {Y=y;cout<<\\n\~Base() {cout<<\\n\void print() {cout <
class Derived:public Base {private: int Z; public:
Derived (int y, int z):Base(y) {Z=z;
cout<<\\n\}
~Derived() {cout<<\~Derived()\n\void print() {Base::print(); cout<
void main()
{Derived d(10,20); d.print(); }
4. 给出下面程序输出结果。 #include
{cout<<\构造函数\n\virtual void fun()
{cout<<\函数\n\};
class B:public A {public: B()
{cout<<\构造函数\n\
void fun() {cout<<\函数\n\};
void main() {B d;}
六、程序设计题(本大题共1小题,共10分)
1. 编写类String的构造函数、析构函数和赋值函数和测试程序。
已知类String的原型为: #include
String(const char *str=NULL); // 普通构造函数 String(const String &other); // 拷贝构造函数
~String(); // 析构函数
String & operator=(const String &other); // 赋值函数 void show()
{cout<
private:
char *m_data; // 用于保存字符串 };
2010年全国自考C++程序设计模拟试卷(三)
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中 只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无 分。
1. 设有定义int i;double j=5;,则10+i+j值的数据类型是() A. int B. double C. float D. 不确定
2. 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为() A. const char *p=“ABCD”; B. char *const p=“ABCD”; C. char const *p=“ABCD”;
D. const char * const p=“ABCD”;
3. 类的构造函数被自动调用执行的情况是在定义该类的() A. 成员函数时 B. 数据成员时 C. 对象时 D. 友元函数时
4. 已知类A是类B的友元,类B是类C的友元,则() A. 类A一定是类C的友元 B. 类C一定是类A的友元
C. 类C的成员函数可以访问类B的对象的任何成员 D. 类A的成员函数可以访问类B的对象的任何成员
5. 假定一个类的构造函数为“A(int i