西安财经大学面向对象技术与编程期末考试C++真题

版权申诉
0 下载量 87 浏览量 更新于2024-09-10 收藏 296KB DOC 举报
"西安财经大学2017级C++面向对象技术与编程期末考试真题,包含了上机考试的程序理解和填空题目,主要涉及类的定义、构造函数、成员函数、继承以及对象的使用。" 这篇考试真题主要考察了C++面向对象编程中的几个核心概念和技巧: 1. 类的定义与构造函数:在`Date`类中,题目要求补充完整构造函数以初始化`year`, `month`, `day`这三个私有成员变量。构造函数的目的是在创建对象时设置初始状态,因此正确答案应是`Date(int y, int m, int d)`。此外,还有一个用于输出日期的成员函数,通过`ostream`进行输出,应补充为`friend ostream& operator<<(ostream& out, const Date& d)`。 2. 继承与成员函数:在`Base`和`Derived`类中,`Base`类有两个私有成员`a`和`b`,并且有一个显示成员`a`和`b`值的成员函数`display()`. `Derived`类继承自`Base`,并新增了`length`, `width`和`area`三个私有成员。题目要求补充构造函数以初始化这些新成员,并实现一个展示`Derived`类所有成员的`show()`函数。正确答案是: - `Derived(int c, int d): Base(c, d) {}` - `void show() { Base::show(); cout << "length=" << length << ",width=" << width << ",area=" << area << endl; }` 3. 指针与引用:题目中的`Basebase1,*bp;`和`Derivedd1(7,8,12,10),d2(5,5,15,20);`展示了如何创建基类和派生类的对象。同时,`bp=&base1;`和`bp->show();`展示了指针操作,通过指针调用成员函数。`Base& br=d1;`则表示了一个基类引用指向派生类对象,展示了多态性,随后通过引用调用了`show()`。 4. 对象的输出:在两个实例中,都使用了`cout`和`<<`操作符来输出对象的成员值。这需要定义友元函数`operator<<`,以便能够正确地打印出对象的状态。 通过这些题目,学生可以复习和检验他们对C++类的定义、构造函数、成员函数、继承、多态性以及对象操作的理解和应用能力。这样的练习有助于深化对面向对象编程核心概念的掌握。