配色: 字号:
计算机专业面试宝典
2021-05-13 | 阅:  转:  |  分享 
  
c++简述c++和c的区别?c++是面,而c是面向过程的结构化编程语言;2)c++具有封装,继承和多态三种特性向对象的语言3)c++相比c增
加了许多类型安全的功能4)c++支持范式编程c和c++分配空间的区别:c++:new和delete是管理内存的两个运算符;new在
申请内存的同时还会调用对象的构造函数;delete在释放内存之前会调用对象的析构函数C:malloc和free是函数;malloc
只申请内存;free只释放内存什么是指针:指针是一种数据类型,具有指针类型的变量称为指针变量。指针变量存放的是另外一个对象的地址,
这个地址中的值就是另一个对象的内容数组:是一组具有相同类型的,连续的内存区域,要引用数组中的一个特定区域或元素,则通过指定数组名
和该特定元素在数组中的位置编号来完成指针和数组的区别:1.赋值同类型指针变量可以相互赋值,数组不行,只能一个一个元素的赋值或拷贝2
.存储方式数组:数组在内存中是连续存放的,开辟一块连续的内存空间。数组是根据数组的下进行访问的,多维数组在内存中是按照一维数组存储
的,只是在逻辑上是多维的。数组的存储空间,不是在静态区就是在栈上。指针:指针很灵活,它可以指向任意类型的数据。指针的类型说明了它所
指向地址空间的内存。指针:由于指针本身就是一个变量,再加上它所存放的也是变量,所以指针的存储空间不能确定。数组和链表的联系和区别:
联系:二者都属于数据结构区别:1从逻辑结构:数组的长度固定。链表动态的进行分配和存储,便于插入和删除2从内存存储来看:数组从栈中分
配空间。链表从堆中分配空间什么是封装?把对象的属性和服务结合成一个独立的系统单位并尽可能隐蔽对象的内部细节什么是继承:什么是多态性
:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。多态性通过派生类覆盖基类中的虚函数方法来实现。多态性分为
两种,一种是编译时的多态性,一种是运行时的多态性。编译时的多态性:编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编
译时,根据传递的参数、返回的类型等信息决定实现何种操作。运行时的多态性:运行时的多态性就是指在系统运行时,才根据实际情况决定实现
何种操作。Break语句和contunue语句的不同用法Break使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语
句,不能用在别处;continue语句结束本次循环,接着开始判断决定继续执行下一次循环构造函数和析构函数的作用:构造函数在对象创建
时利用特定的值构造对象,将对象初始化为一个特定的状态,使此对象具有区别于彼对象的特征,完成的是一个从一般到具体的过程,构造函数在对
象创建时由系统自动调用。析构函数是用来完成对象被删除前的一些清理工作,是在对象的生存期即将结束的时刻由系统自动调用,它的调用完成后
,对象也就消失,相应的内存空间也就被释放构造函数与析构函数的执行顺序:继承关系的构造函数和析构函数的执行顺序为:1、父类构造函数执
行。2、子类构造函数执行。3、子类析构函数执行。4、父类析构函数执行。组合关系的构造函数和析构函数执行顺序为:1、执行类成员对象的
构造函数。2、执行类自己的构造函数。3、执行类自己的析构函数。4、执行类成员的析构函数。什么是内联函数?它有哪些特点?定义时使用关
键字incline的函数叫内联函数内联函数体内不能有循环语句和switch语句;内联函数的定义必须出现在内联函数第一次被调用之前;
对内联函数不能进行异常接口的声明;为了减少函数调用的开销,引入内联函数机制。编译器处理对内联函数调用语句时,是将整个函数的代码插入
到调用语句处,而不会产生调用函数的语句什么是拷贝构造函数,拷贝构造函数何时被调用拷贝构造函数具有一般构造函数的所有特性,其形参是本
类对象的引用。在以下三种情况会被调用:1用类的一个对象去初始化该类的另一个对象时;2如果函数的形参是类对象,调用函数进行形参和实参
结合时3如果函数的返回值是类对象,函数调用完成返回时什么是友元函数?友元函数是使用friend关键字声明的函数,它可以访问相应类的
保护成员和私有成员。友元类是使用friend关键字声明的类,它的所有成员函数都是相应类的友元函数什么是虚函数:使用virtual关
键字修饰的成员函数就是虚函数。作用就是实现多态性什么是重载函数?重载的函数的函数名是相同的,但他们的参数个数和数据类型不同什么是覆
盖?派生类可以定义一个和基类成员同名的成员,这叫覆盖什么是容器?容器就是可容纳各种数据类型的通用数据结构,是类模板。有顺序容器,关
联容器,容器适配器三种什么是静态数据成员?有何特点静态数据成员采用static关键字声明。对于普通数据成员,每一个类的对象都有一个
拷贝,保证了对象拥有自身区别于其他对象特征的需要。静态数据成员,每一个类只有一个拷贝,由该类的对象共同维护和使用,实现了同一类的不
同对象之间的数据共享设计模式有哪些:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。操作系统进程与线程之间的区别?进程是拥有资源的独立单位,线程是独立调度的基本单位2)进程开销大,线程开销小3)不仅进程之间可以并发执行,而且多个线程也可以并发执行
献花(0)
+1
(本文系大量资料原创)