基本语言(二)

来源:互联网 发布:sharp扫描软件 编辑:程序博客网 时间:2024/06/08 13:33

1、在全局作用域定义在非const变量在整个程序中都能访问。而全局作用域定义的const变量不能被其他文件访问,除非通过指定const变量为extern:

//file1.cc

extern const intx=fcn();

 

//file2.cc

extern const intx;

for(inti=0;i<x;++i)

非const变量默认为extern,要使const变量能够在别的文件中访问,必须显式地指定为extern。

 

2、  引用是一种复合类型,复合类型是指用其他类型定义的类型。引用必须用与该引用同类型的对象初始化。引用是一种别名,作用在引用上的所有操作事实上都是作用在该引用绑定的对象上。


3、  typedef可以用来定义类型的同义词,如typedef double wages。typedef通常有以下三种目的:为了隐藏特定类型的实现,强调使用类型的目的;简化复杂的类型定义、允许一种类型用于多种目的,使得每次使用该类型的目的明确。


4、  枚举的定义包括关键字enum,其后是一个可选的枚举类型名以及用一个花括号括起来用逗号分开的枚举成员。enum open_mode {input,output,append},默认地,第一个枚举成员赋值为0,后面每个枚举成员比前一个大一。枚举成员是常量,只能用常量表达式初始化。enum Forms {shape=1,sphere,cylinder,polygon},不能改变枚举成员的值。

每个enum都定义了一种新的类型。枚举类型的对象的初始化或赋值只能通过其枚举成员或同一枚举类型的其他对象。


5、  struct和class定义类的唯一差别在于默认访问级别,struct的成员默认为public,而class为private。


6、  由于头文件包含在多个源文件之中,所以不应该含有变量或者函数的定义,但是有三个例外。头文件可以定义类、值在编译时就已知的const对象和inline函数。这些实体可以在多个源文件中定义,只要每个源文件中的定义是相同的。


7、  为了避免多重包含导致的重复定义,我们需要引入一些额外的预处理器设施。

#ifndef SALESITEM_H

#define SALESITEM_H

//DEFINITION

#endif

0 0