1.在C++中,for语句中可以出现for(int i=0;i<5;i++),即定义i的同时使用它;但在C中不能这样,只能先定义,然后再使用。int
i;for(i=0;i<5;i++)。
2.在C++中定义struct,union和enum类型的变量时,关键字struct,union和enum可以省略;在C中不能忽略。
3.在C++中,可以用const类型的整数作为数组的大小,而在C中不可以。
4.在C中,const类型的变量是对外可见的,所以只能出现在源文件中;而在C++中,const类型的变量只有内部可见,所以可以出现
在头文件中。例如:在C源文件中通过语句const int i = 2;定义i,因为它是对外可见的,所以在其它的模块中可以通过声明extern
const int i;来引用它;而在C++中,因为const类型的变量默认只有内部可见,如果想定义对外部可见的变量,必须用extern修饰,
例如用extern const int i = 2;定义变量i,如果是在C++文件中定义一个在C中使用的变量,可以用extern "C" const int x=10;语句。
5.因为C++中有new关键字,所以可以使用new动态分配数组,这样数组在定义的时候其大小可以根据运行中的数据进行指定,用完
后使用delete []删除。而在C中,数组定义的时候必须明确指定其大小。
6.关于类的继承
多继承:public class Test extends A,B
多重继承:public class Test1 extends A
public class Test2 extends Test1
Java 不支持多继承,C++支持多继承。很显然都支持多重继承。
参考:http://hi.baidu.com/baiyw920/item/1e8031f74854fac2a835a2d6
0.在C++有bool类型,C中没有。