1. C和C++中struct有什么区别?
C语言中:Struct是用户自定义数据类型(UDT) C++语言中:
Struct是抽象数据类型(ADT),支持成员函数的定义。
在C++中,struct的成员的默认访问说明符为public,class为private。 c中的struct是没有权限设置的。
C++中struct增加了访问权限,且可以和类一样有成员函数。 C++中的struct等同于class,只是class默认成员权限是private,而struct默认成员权限是public。
1> C++中的struct类似于class,有变量,有构造函数、虚函数等,有继承,多态等类的特征;
2> 2> C中的struct只有变量,不能有函数,但是可以有函数指针
2. C++中的struct和class有什么区别?
在C++中,两者区别不大,但是有2个主要的区别
1>.继承权限:struct默认是public继承;class默认是private继承
1
2>. 访问权限:struct默认是public访问;class默认是private访问
3.如何判断一段程序是由C 编译程序还是由C++编译程序编译的? 【标准答案】 #ifdef __cplusplus cout<<“c++\ #else cout<<\ #endif
(这个以前还真没注意过,涨姿势了。。。)
4. C和C++有什么不同? 【参考答案】 从机制上:
c是面向过程的(但c也可以编写面向对象的程序);
c++是面向对象的,提供了类。但是,c++编写面向对象的程序比c容易。
2
从适用的方向: c适合要求代码体积小的,效率高的场合,如嵌入式;c++适合更上层的,复杂的; linux核心大部分是c写的,因为它是系统软件,效率要求极高。
从名称上也可以看出,c++比c多了+,说明c++是c的超集;那为什么不叫c+而叫c++呢,是因为c++比 c来说扩充的东西太多了,所以就在c后面放上两个+;于是就成了c++。
C语言是结构化编程语言,C++是面向对象编程语言。 C++侧重于对象而不是过程,侧重于类的设计而不是逻辑的设计。
关于这个问题,个人觉得《Effective C++》上面第一条说的很好, View C++ as a federation of languages. 把C++当做一个语言联邦。
C++由四部分组成 1>c语言部分;
2>面向对象部分,包括封装、继承、多态这些C语言所没有的特性; 3>泛型编程部分,大多数类、函数要考虑到把它设计成模板,方便复用;
3