您好,欢迎访问三七文档
1、什么是类?什么是对象?什么是面向对象的程序设计?类:是指具有相同的属性和操作方法,并遵守相同规则的对象的集合。对象:是包含现实世界物体特征的抽象实体,每个对象有内部的属性和操作方法。面向:它吸取了面向过程的程序设计的优点,同时又考虑了现实世界和计算机处理的关系,它的整个程序由一系列相互作用的对象构成,对象之间的交互通过发送消息来实现,对象通过响应消息来实现程序的功能。2、简要说明用面向对象的程序设计方法开发出的程序的运行过程。(9分)运行过程:各个对象向另一些对象发送消息,对象响应消息,然后执行消息映射函数,从而实现程序的功能3、类和结构有什么区别?(7分)结构是类的一种特例,在结构体中也可以定义成员函数、构造函数和析构函数,成员也可使用private、protected、public。结构和类的区别是:在缺省情况下,结构中的所有成员都是公有的,而在类中是私有的。4、向过程的程序设计和面向对象的程序设计的主要区别是什么?面向过程的程序设计:以功能为中心,采用函数来描述,函数和操作的数据是分离的。程序由一系列的函数构成,程序的实现通过函数的顺序执行来实现。。编程时需要清楚程序实现的每一步细节。面向对象的程序设计:它吸取了面向过程的程序设计的优点,同时又考虑了现实世界和计算机处理的关系,它的整个程序由一系列相互作用的对象构成,对象之间的交互通过发送消息来实现,对象通过响应消息来实现程序的功能。5、面向对象的程序设计它的几个特征是什么?它有四个基本的特征,即抽象、封装、继承和多态性。6、什么是封装?什么是多态性?C++中,多态性是如何实现的?(9分)答:封装:是指将抽象得到的数据成员和代码相结合,形成一个有机的整体,并且将它们的细节隐藏起来的一种方法。多态性:是指允许不同类的对象对同一消息作出响应,即实现“一个接口,多种方法”。C++中,多态性是通过指针和虚函数来实现的。7、编译时的多态性和运行时的多态性在实现方法上有何不同?答:编译多态性也称静态多态性,它是通过函数重载和运算符重载实现的。运行多态性也称动态多态性,它是通过继承和虚函数来实现的。8、简述使用友元函数的优点和缺点。(7分)答:友元函数的优点:不需要修改类的成员函数而可以访问类的私有成员,并且提高了执行效率。缺点:破坏了类的封装性及信息隐蔽性。9、什么是友元函数?友元函数的作用是什么?答:在一个类中,用friend声明的非本类函数就是友元函数。友元函数的作用:可以直接访问本类的私有成员,提高编程的灵活性和程序执行效率。10、函数重载的主要作用是什么?函数重载时参数个数不同时,能否有缺省参数,为什么?调用不同的重载函数是在编译时决定还是在运行时决定?答:函数重载主要作用是:用同一个函数名可以去调用不同参数或功能的函数,即用同一个函数实现不同的操作。函数重载时参数个数不同时,不能有缺省参数。因为:有缺省参数时,就会发生二义性,编译出错。调用不同的重载函数是在编译时决定的。11、c++中,什么是函数重载?什么是运算符重载?什么是构造函数?什么是析构函数?函数重载:函数的名称相同,参数的个数或类型不同的函数。运算符重载:对运算符赋予新的含义,使之一名多用(主要是指运算对象包含类对象)。构造函数:构造函数的名字必须与类名同名,它不具有任何类型,不返回任何值,主要用于对象初始化。析构函数:函数名与类名相同,只是在前边加“~”符号,它不具有任何类型,不返回任何值,主要用于对象撤销后的清理工作。12、构造函数和析构函数的作用是什么?什么时候需要自己定义构造函数和析构函数?构造函数的作用:用于新建对象的初始化工作。(2分)析构函数的作用:用于在撤销对象前,完成一些清理工作,比如:释放内存等。(2分)每当创建对象时,需要添加初始化代码时,则需要定义自己的构造函数;而对象撤销时,需要自己添加清理工作的代码时,则需要定义自己的析构函数。13、什么是简单继承?什么是多重继承?在软件开发过程中,继承有什么好处?简单继承:派生类的基类只有一个的继承方法。(3分)多重继承:派生类的基类同时有多个时的继承方法。(3分)继承的好处:由于可以利用已有的软件基础来进行新的软件开发,所以能提高软件开发效率和软件质量。14、什么是内置函数?它的主要作用是什么?如何声明内置函数?嵌入到主调函数中的函数称为内置函数,又称内嵌函数。它的作用:提高程序的执行效率。声明内置函数:只需在函数首行的左端加一个关键字inline即可。主要区别是:嵌套调用的函数不能是本身,自身调用的函数是本身。。16、简要说明:在VC++6.0中开发用于控制台程序时,如何开发具有多个源文件的工程。答:开发方法:首先,建立一个简单的Win32控制台工程,编辑主程序并存盘。然后,在主菜单中选择:工程/添加工程/文件,在该工程中添加一个源文件或头文件,再编辑。用此方式可以添加多个。最后,进行编译运行。在编辑多个源文件时,注意在源文件中正确加上包含的头文件。17、在VC++6.0中,用MFC开发一个工程,一般是每个类会对应有一个.CPP源文件和一个.H头文件。简要说明程序中如何在一个类中使用另一个类的成员。(6分)方法是:1)、在.h头文件或.cpp源程序中加入要用到类的头文件.h。2)、声明要使用类的对象(即定义一个对象),然后调用该对象的成员。18、在C++中,分别使用while和do…while语句等价实现下列for语句的功能:for(i=0,k=0;i5;k+=i++);(1)用while语句:(2)用do...while语句:i=0;i=0;k=0;k=0;while(i5)do{{k+=i++;k+=i++;//该语句可有多种表达}}while(i5);15、什么是函数的递归调用?什么是函数的嵌套调用?它们的主要区别是什么?答:在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。在调用一个函数的过程中,又调用另一个函数,称为函数的嵌套调用。
本文标题:c++简答题
链接地址:https://www.777doc.com/doc-1842827 .html