100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 计算机考研复试常问问题 编程语言篇

计算机考研复试常问问题 编程语言篇

时间:2019-05-09 01:36:27

相关推荐

计算机考研复试常问问题 编程语言篇

1、封装、继承和多态(面向对象的三大特性)

封装:使数据和操纵数据的方法封装为一个整体,把对象的设计者和使用者分开,使用者不必知道其内部细节。增加了安全性。继承:一个类可以继承其他类的全部属性和方法,并且可以修改和扩充。增强了代码的复用性。多态:同一消息被不同的对象接收会产生不同的行为。增加了扩展性。

2、指针和变量的自增自减有什么区别?

变量:一个具体的数值。指针:一个变量的地址。指针自增自减改变的是指针指向的地址;变量自增自减改变的是变量的值

3、宏定义和操作符

操作符:编程语言中定义的对数据进行某种操作的特殊字符。宏定义:c语言中的预处理命令,起替换作用,不做任何计算,不占用内存空间和编译时间。

4、虚函数和纯虚函数

虚函数:在某个基类中被声明为virtual,并在某个派生类中被重新定义的成员函数。纯虚函数一种特殊的虚函数。用来定义暂时没有意义的操作,需要派生类在继承时给出具体定义。含有纯虚函数的类被称为抽象类,它不能生成对象。

5、引用和值传递的区别

值传递传递的是一个值的副本,函数对形参进行操作不会改变实参的值。引用传递的是引用对象的内存地址,函数对形参进行操作就是对实参进行操作。

6、指针和引用的区别

引用在定义时被初始化后,就不能改变了;指针可以改变。引用不能为空;指针可以为空。程序不需要为引用分配内存空间;程序需要为指针分配内存空间。指针自增是指针变量的自增;引用自增是变量值的自增。

7、面向对象和面向过程的区别

面向过程是一种以过程为中心的编程思想,强调事件的流程和顺序。思想:需要实现一个功能的时候,看重的是开发的过程和步骤,每一个步骤都需要自己亲力亲为。例如:吃饭。需要买菜、洗菜、切菜、煮饭、炒菜...程序=算法+数据面向对象是一种以对象为中心的编程思想,强调事件的角色和主体。思想:需要实现一个功能的时候,看重的并不是过程和步骤,而是关心的是对象,对象能做什么。例如:吃饭。找饭店,饭店提供饭菜,我们不需要关心煮饭做菜的过程。程序=对象+消息

8、类与结构体的区别

结构体是一种值类型;类是一种引用类型。值类型用于存储数据的值;引用类型用于存储对实际数据的引用。结构体使用栈存储;类使用堆存储。结构体是一种包含了不同类型数据的包装;类是一种反应现实事物的抽象。结构体没有析构函数;类有析构函数。结构体不可以继承;类可以继承。

10、C++覆盖与隐藏

覆盖:子类在继承时,对父类中的虚函数进行重写,父类中的该函数就会被覆盖。隐藏:子类在继承时,对父类中的普通函数进行重写,父类中的该函数就会被隐藏。

11、C++支持参数个数不确定的函数吗?

可以通过隐藏参数机制来支持参数个数不确定的函数。用...代替未知的参数,调用时只处理所知道的参数。

12、内联函数

程序在编译时,被调用的内联函数会直接被其函数体给替代。内联函数中不允许有循环语句和switch语句。

13、静态函数

静态函数是static修饰的函数,只属于类,不属于对象。静态函数只能访问静态成员变量。可以通过类名直接访问。

14、重载和重写

重载:在同一个类中,有多个名称相同,但是参数列表不同的函数。减轻了程序员记忆功能相似的不同函数名字。重写:子类对从父类继承的方法进行改造。

15、函数模板

函数模板不是一个具体的函数,没有指明确定的返回值类型和形参类型,而用一个虚拟的类型来表示。函数模板只是一个对函数功能框架的描述。当它在具体执行时,将根据传递的实际参数类型决定其功能。

16、类模板

一个通用类,其数据成员的类型,成员函数的返回值类型和形参类型不具体指定,而用一个虚拟的类型来表示。使用类模板定义对象时,系统会根据实参的类型来取代类模板中的虚拟类型,从而实现不同类的功能。

17、泛型编程

以独立于特定类的方式编写代码,针对不同的类型提供通用的方法。实现方法:函数模板和类模板。

18、#define和typedef的区别

两个都是起别名,但#define是在预编译的时候处理的;typedef是在编译的时候处理的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。