您的位置:首页 > 编程语言 > C语言/C++

C++中变量和类的定义

2016-01-06 10:36 375 查看
一、 变量的声明和定义

在C++语言中,变量只能定义一次,在使用变量之前必须定义或声明变量。

1)变量的定义用于为变量分配存储空间,还可为变量指定初始值。

2)声明用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。

可以通过使用extern关键字声明变量而不定义它。

extern int i;  // 声明但不是定义i
int  i; // 声明并且定义i

第一句的extern语句是声明不是定义,不分配存储空间。此句只是说明变量定义在程序的其他地方。程序中变量可以声明多次,但只能定义一次。

带初始化式的声明:

如果声明有初始化式(有存储空间来进行初始化),那么它可被当作是定义,即使声明标记为extern:

extern int num=10; // 定义

使用了extern,该条语句还是定义了pi,分配并初始化了存储空间。只有当extern声明位于函数外部时,才可以含有初始化式。

因为已初始化的extern声明被当作是定义,所以该变量的任何随后的定义和含有初始化式的extern声明都是错误的。

extern int num = 10; // 定义
int num; // 错误:重复定义变量num
extern int num = 10; // 定义
extern int num; // 正确: 声明不是定义
extern int num = 10; // 错误:重复定义变量num

在多个文件中使用的变量应该有定义和声明的严格分离。一般情况下,在一个文件中定义变量,其他使用该变量的文件中声明该变量(不是定义)。

二、类的定义

C++中可以使用关键字class或者struct来定义类。

如果使用class关键字定义类,成员的默认访问属性是private。

如果使用struct关键字来定义类,默认属性是public。

使用class还是struct关键字来定义类,仅仅影响默认的初始访问级别。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: