首页 > 代码库 > c++与Java中的变量和常量
c++与Java中的变量和常量
实际上这正是C++和Java的一个重要不同之处。C++编译器不对本地变量进行初始化检验,所以在C++中很容易忘记初始化一个变量,这种情况下,变量的值该变量所占内存区域中刚好当前存在随机值。这显然是很容易产生程序出错的地方。
与Java一样, C++中类可以有数据域和静态变量。不同的是,C++中变量可以在函数甚至是类的外面定义,这些所谓的全局变量可以在程序的任何函数中被访问,因而不易被很好的管理。所C++中应该尽量避免使用全局变量。
在C++中,常量可以在任何地方被定义(记得在Java中,常量必须是类的静态数据static data)。 C++ 使用关键字 const 来定义常量,而Java中是final。例如:
const int DAYS_PER_YEAR = 365;
C++ 中对类的定义与Java有些不同,这里是一个例子:一个C++ 版本的 Point 类:
class Point /* C++ */
{
public:
Point();
Point(double xval, double yval);
void move(double dx, double dy);
double getX() const;
double getY() const;
private:
double x;
double y;
};
这里几点重要的不同是:
1. C++的类定义中分为公共和私有部分,分别以关键字 public 和 private开始。而在Java中,每一个元素都必须标明public 或 private。
2. C++中类的定义只包含函数的声明,真正的实现另外单独列出。
3. 访问函数(accessor methods)标有关键字 const ,表明这个函数不会改变本对象的元素值。
c++与Java中的变量和常量