C++学习第五天
typedef名字:typedef定义一关键字typedef开始,后面是数据类型和标识符。标识符或类型名并没有引入新的类型,而只是现有数据类型的同义词。
使用typedef的目的:1.为了隐藏特定类型的实现,强调使用类型的目的。
2.简化复杂的类型定义,使其更易理解
3.允许一种类型用于多个目的,同时使得每次使用该类型的目的明确。
枚举:定义式:enum enum_name{enumerator1,enumerator2.......}
默认地第一个枚举成员赋值为0,后面的每个枚举成员赋值比前面的大1.
注意:枚举成员是常量,正如一个const对象一样。
类定义:
C++类定义使用class关键字,也可以使用struct关键字,如果使用关键字struct,默认struct的成员都是public,除非油特别声明。
C++与java类定义的区别在于访问修饰符,C++访问修饰符也叫访问修饰标号。C++给定的访问修饰表用应用到下一个标号出现为止。例如:
class Foo{
public:
int test1;
int test2;
.......
//前面定义所有变量都是public的,直到private出现。
private:
....
}; (C++类定义完毕需要添加分号作为结束符,java则不需要)
C++中,一般把类定义放入头文件(header file)。头文件一般以.h结尾。一些const对象定义在头文件中(与java的静态变量差不多,都定义在类中)
#define指示接受一个名字并定义该名字为预处理器变量。#ifndef指示检测指定的预处理器变量是否未定义,以#endif作为结束。例如:
#ifndef TEST //加入测试到TEST预处理器变量未被定义,满足条件则向下执行
#define TEST //定义预处理器变量
.........//逻辑代码
#endif //结束符。
如果头文件名括在<>括号里,则认为该头文件是标准头文件,编译器将会在预定义的位置集查找该头文件,预定义的位置可以通过设置查找路径环境变量或者通过命令行项来修改。如果头文件名括在一堆“”号里,则认为它是非系统头文件,非系统头文件的查找通常开始于源文件所在的路径。
(再次强调,在C++中,定义变量时就进行初始化总是个好主意。)