C++面向对象程序设计教程课后题答案
1、1  什么就是面向对象程序设计?
面向对象程序设计就是一种新的程序设计范型、这种范型的主要特征就是:
程序=对象+消息
面向对象程序的基本元素就是对象。
主要结构特点就是:
第一,  程序一般由类的定义与类的使用两部分组成;
第二,  程序中的一切操作都就是通过向对象发送消息来实现的。
 
1、2  什么就是对象?什么就是类?对象与类之间的关系就是什么?
对象就是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。
类就就是具有相同的数据与相同的操作的一组对象的集合,也就就是说,类就是对具有相同数据结构与相同操作的一类对象的描述。
类与对象之间的关系就是抽象与具体的关系。类就是多个对象进行综合抽象的结果,一个对象就是类的一个实例。
 
1、3  现实世界中的对象有哪些特征?请举例说明。
现实世界中的对象具有以下特征:
1)        每一个对象必须有一个名字以区别于其她对象;
2)        用属性来描述对象的某些特征;
3)        有一组操作,每组操作决定对象的一种行为;
4)        对象的行为可以分为两类:一类就是作用于自身的行为,另一类就是作用于其她对象的行为。
例如一个教师就是一个对象。每个教师对象有自己的名字来与别的教师区别。教师具有编号,姓名,年龄,职称,专业等属性。教师拥有走路,吃饭,授课等行为操作。走路,吃饭就是作用于自身的行为,授课就是作用于其她对象的行为。
 
1、4  什么就是消息?消息具有什么性质?
一个对象向另一个对象发出的请求成为“消息”。
消息具有以下3个性质:
1)        同一个对象可以接收不同形式的多个消息,做出不同的相应;
2)        相同形式的消息可以传递给不同的对象,所做出的响应可以就是不同的;
3)        对消息的响应并不就是必须的,对象可以响应消息,也可以不响应。
 
1、5  什么就是抽象与封装?请举例说明。
抽象就是将有关事物的共性归纳、集中的过程。
例如:把所有具有大学生学籍的人归为一类,成为“大学生”,这就就是一个抽象。
封装就是指把数据与实现操作的代码集中起来放在对象内部,并尽可能隐藏对象的内部细节。
例如:每一台洗衣机都有出厂日期、机器编号等属性,也有启动、暂停、选择等操作。人们在使用洗衣机的时候只需要按下对应的按钮,而不用关心具体的内部实现。这就就是封装。
 
1、6  什么就是继承?请举例说明。
继承就就是允许派生类使用基类的数据与操作,同时,派生类还可以增加新的操作与数据。
例如:哺乳动物就是一种热血、有毛发、用奶哺育幼崽的动物; 狗就是有犬牙、食肉、特定的骨骼结构、居的哺乳动物。 狗就继承了哺乳动物。
 
1、7  若类之间具有继承关系,则她们之间具有什么特征?
若类之间具有继承关系,则她们之间具有下列几个特征:
1)        类间具有共享特征(包括数据与操作代码的共享);
2)        类间具有差别或新增部分(包括非共享的数据与操作代码);
3)        类具有层次结构。
 
1、8  什么就是单继承、多继承?请举例说明。
单继承就是指每个派生类只直接继承了一个基类的特征。例如狗继承自哺乳动物。
sqrt是什么的缩写多继承就是指多个基类派生出一个派生类的继承关系。比如玩具车同时继承自玩具与车。
 
1、9  什么就是多态?请举例说明。
多态就是指不同的对象收到相同的消息时执行不同的操作。
例如,有一个窗口类对象,还有一个棋子类对象。当我们发出“移动”消息时,两个对象的行为不同。
 
1、10   面向对象程序设计的主要优点就是什么?
1.可提高程序的重用性;
2.可控制程序的复杂性;
3.可改善程序的可维护性;
4.能够更好地支持大型程序设计;
5.增强了计算机处理信息的范围;
能够很好地适应新的硬件环境。
2、1 简述C++的主要特点。
1)        C++就是C的超集,保持与C的兼容。
2)        保持了C的简洁、高效与接近汇编语言等特点,并对C的功能作了不少扩充。用C++编写的程序比C更安全,可读性更好,代码结构更为合理。
3)        程序质量高。
4)        增加了面向对象机制。
 
2、2
#include <iostream>
using namespace std;
int main()
{
    int a, b, d, min;
    cout << "Enter two numbers:";
    cin >> a >> b;
    min = a > b ? b : a;
    for(d = 2; d < min; d++)
    {
        if(((a % d) == 0) && ((b % d ) == 0)) break;
    }
    if (d == min)
    {
        cout << "No common denominators" << endl;
        return 0;
    }
    cout << "The lowest common denominator is" << d << endl;
    return 0;
}
 
2、3 有效
 
2、4 没有函数声明;
        函数定义没有写返回值类型。
 
2、5 (1)等价,函数声明可以省略参数的名字。
        (2)不等价,第二个的函数定义不能省略参数的名字。
 
2、6-2、10 CDAAB
 
2、11-2、15 ACBDC
 
2、16-2、17 DC
 
2、18
101
 
2、19
10 10
 
2、20
10
20
 
2、21 举例说明可以使用const替代#define以消除#define的不安全性。
#include <iostream>
using namespace std;
int main()
{
    int a = 1;
#define T1 a+a

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