25.2.1 混合使用C和C++(www.cppentry.com)
您已经知道,C++(www.cppentry.com)语言是C语言的超集。除了几个很小的例外,所有C程序都可以在C++(www.cppentry.com)中编译和运行。这些例外通常都与保留字有关。例如,在C语言中,class这个词没有特别的意义。因此可以作为一个变量名,例如下面的C代码:
- int class = 1; // Compiles in C, not C++(www.cppentry.com)
- printf("class is %d\n", class);
- 代码取自MixingC\MixingC.cpp
这个程序可以在C语言中编译运行,但作为C++(www.cppentry.com)代码编译的时候会得到一个错误。当您将一个C语言程序翻译(或移植)为C++(www.cppentry.com),有可能会遇到几种类型的错误。幸运的是,这些问题的修复通常很简单。在这个例子中,将class变量重命名为ClassID,代码将成功编译。
当您遇到一个用C语言编写的有用的库或遗留代码时,C语言代码和C++(www.cppentry.com)程序结合的方便性就很有用。本书中您已经多次看到,函数和类可以很好地在一起工作。一个类方法可以调用一个函数,一个函数可以使用对象。