作者:雷神 转载请联系作者 第八天:抽象数据类型是指用户自定义的数据类型。虽然用户使用内部类型来定义抽象数据类型但它不是内部数据类型。 "."点操作符是访问对象变量的成员 "->"指针操作符是访问指针指向的对象变量。 包含结构类型的的结构称嵌套结构类型。嵌套结构类型可以再次被嵌套,访问被嵌套的结构成员必须用两个点操作符。 通常把类数据声明为全局性的,把类变量声明为局部的。并把类声明放在头文件中用"#include"来包含它们。 在类声明后必须有分号。可以在声明类的同时声明类变量。如下: class empData{ char empCode[8]; float wkSalary; }emp1,emp2; 理论上说一切变量都是对象,但VC++的对象通常是指类变量。 对象是程序声明的某类变量,对对象的声明称做对某类实例化。 类的成员缺省是私有的。 局部(块作用域)全局(文件作用域) 类作用域:如果一个变量有类作用域,那么它只能在这个类中被使用。所以即使这个类变量是函数的局部变量,它的成员也未必都能被这个函数访问。 两个关键字:public 和 private可以改变class和struct的member的缺省状态。 关键字public\private\protected叫做访问说明符。其中public和private决定了是否能在外部访问类或结构的成员。 第九天:成员函数有时被称为方法,因为它提供了一种严格的访问私有数据的方法。 class ABC{ int a;//数据成员 float b;//数据成员 char c;//数据成员 }; 属性描述类的初始状态,这个类的属性包括一个整数成员、一个浮点成员、一个字符成员,所有这些成员组成了ABC类的属性。 如果类中存在函数则称为成员函数(和成员数据一样成员函数也是类的成员)。成员函数便是此对象的行为。成员函数通常被设定为公有成员。(public)。 可以用点操作符调用类中的公有数据成员和成员函数。成员函数的基本目的就是控制程序的其他部分对私有数据的访问。通常私有数据和公有函数组成了一个完整的对数据提供保护的类。 //用以上学到的概念作一个扑克牌发牌程序,和一个彩票随机出号程序。 main()函数不仅仅是一个程序的框架,还是一个高水平的组织管理系统,管理对象并且通过发送消息控制对象的行为(通过调用成员函数)。 注意:用户只有在类变量被定义后才能赋值。只定义了类是不会有内存空间分配给它,只有定义了类变量才行。这就是说不能在类定义中初始化类的成员。 一定要在成员函数中添加参数表(可以用缺省参数表),以便在以后的程序中向成员函数传递参数。 成员函数并不是只能从对象外部到内部的单向数据通道,只要在成员函数中设置一个返回值,就很容易使对象的成员函数返回一个值到main()中。 建议为每个数据成员编写只返回一个值的只读访问成员函数,以便main()或程序其他部分访问某个数据时使用。 只把成员函数的原型放在类中,让类成为一个头文件。(包含类的简要说明,数据成员和成员函数的原型)。把成员函数体放在类说明之后,但在main()之前。在实际的编程中把所有的类定义放在一个类的头文件中,在程序中用"#include"包含类代码。最好是提供类的头文件,但事先把所有的成员函数代码编译好,在程序中使用它们时连接目标代码。 把成员函数放在类定义之外时,不要忘记在函数名前冠以作用域说明符。在每个成员函数前必须冠以它所属的类名和作用域说明符。这样才能使它和它所属的类匹配。格式如下: 类名::函数名(参数表) 例: void ABC::getVals(void) 技巧:可以使用内联函数提高类的工作效率。 通过成员函数提供数据保护这样类不会被赋错误的值。 封装是指把几个元素包含在一个外壳中。封装就是把数据成员和成员函数联编在一个类中,这样对象可以拥有属性和行为两方面内容。 *this指针被隐式的传递给所有成员函数,它指向引起这次函数调用的对象。通过传递*this指针,VC++告诉成员函数对哪个对象进行操作。有一些情况下必须直接对*this进行操作,但大多数情况可以忽略这个指针的存在。 |
正在阅读:『21天精通C++』第二周学习笔记(2-1)『21天精通C++』第二周学习笔记(2-1)
2004-02-14 09:34
出处:PConline
责任编辑:zwg