首页 > 代码库 > 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++的类定义中分为公共和私有部分,分别以关键字 publicprivate开始。而在Java中,每一个元素都必须标明publicprivate

2. C++中类的定义只包含函数的声明,真正的实现另外单独列出。

3. 访问函数(accessor methods)标有关键字 const ,表明这个函数不会改变本对象的元素值。

c++与Java中的变量和常量