在C++中,struct的成员的默认访问说明符为public,class为private。c中的struct是没有权限设置的。C++中struct增加了访问权限,且可以和类一样有成员函数。C++中的struct等同于class,只是class默认成员权限是private,而struct默认成员权限是public。++中struct有什么区别?C语言中:Struct是用户自定义数据类型(UDT)C++语言中:Struct是抽象数据类型(ADT),支持成员函数的定义。>C++中的struct类似于class,有变量,有构造函数、虚函数等,有继承,多态等类的特征;>2>C中的struct只有变量,不能有函数,++中的struct和class有什么区别?在C++中,两者区别不大,但是有2个主要的区别1>.继承权限:struct默认是public继承;class默认是private继承12>.访问权限:struct默认是public访问;++编译程序编译的?【标准答案】#ifdef__cpluspluscout<<“c++";#elsecout<<"c";#endif(这个以前还真没注意过,涨姿势了。。。)++有什么不同?【参考答案】从机制上:c是面向过程的(但c也可以编写面向对象的程序);2c++是面向对象的,提供了类。但是,c++编写面向对象的程序比c容易。从适用的方向:c适合要求代码体积小的,效率高的场合,如嵌入式;c++适合更上层的,复杂的;linux核心大部分是c写的,因为它是系统软件,效率要求极高。从名称上也可以看出,c++比c多了+,说明c++是c的超集;那为什么不叫c+而叫c++呢,是因为c++比c来说扩充的东西太多了,所以就在c后面放上两个+;于是就成了c++。C语言是结构化编程语言,C++是面向对象编程语言。C++侧重于对象而不是过程,侧重于类的设计而不是逻辑的设计。关于这个问题,个人觉得《EffectiveC++》上面第一条说的很好,ViewC++++当做一个语言联邦。C++由四部分组成3>c语言部分;>面向对象部分,包括封装、继承、多态这些C语言所没有的特性;>泛型编程部分,大多数类、函数要考虑到把它设计成模板,方便复用;>STL库,里面封装了大量的优秀模板,是3>中内容的集成,学会使用它们可以让代码更高效。当然,最好去深入了解STL源码,那样会对C++有更深的理解。5.“引用”与指针的区别是什么?【参考答案】指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。在另一本C++著作《MoreEffectiveC++》里,第一条就是论述point和reference的区别总结一下,4>指针是一个存储地址的变量,而引用是一个变量的别名。所以在一个函数中,传引用要比传指针速度更快。>指针可以指向一个空值,而引用必须初始化。指针可以如下形式出现[cpp]*p;是合法但不合理的(相当于是一个野指针)。可以声明一个指向空值的指针[cpp]*p=null而引用不行[cpp]&r;是错误的引用必须初始化为一个变量的别名,如[cpp]viewplaincopyinta=5;int&r=a;3>也是因为2>的特性,指针在使用前要判断是否为空,而引用必定不为空(否则会报错),所以不用判断。5
c 经典面试题 来自淘豆网m.daumloan.com转载请标明出处.