- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c复习-1
参考用书 visual c++ 实用教程第4版 郑阿奇 丁有何 郑进 电子工业出版社
1如何定义类,类中成员的三个访问权限,P79\P110
定义类关键字用class,后跟类名,由一对花括号构成类体,类体中包含数据成员和成员函数,花括号后的“;”不能省略,当类的成员函数的函数体在类的外部定义时,必须由作用域运算符“::”来通知变异系统该函数所属的类。
注意:在进行类的设计的时候,同城将数据成员声明为私有的,而将大多数成员函数声明成公有的。尽量将类单独存放在一个文件中,或将类的声明放在.h文件中,而将成员函数的实现存放在与.h文件同名的.cpp文件中。
类中成员的三个访问权限分别是:public(共有)、 protected(保护)、 private(私有,默认)
注意
继承方式 基类成员 基类的成员在派生类中的特性
public public public protected protected private 不可访问
private public private protected private private 不可访问
protected public protected protected protected private 不可访问 如何定义一个简单对象,指针对象,对象数组?P81
类有三种方式定义对象:声明之后定义、声明之时定义、一次性定义。
类名普通对象名表 Eg:类名 普通对象名
类名指针对象名表 Eg:类名 *指针对象名
类名数组对象名表 Eg:类名 数组对象名[value]
new和delete的使用?P61
new:有效、直接地进行动态内存的分配;返回指定类型的一个指针,如果分配失败(没有足够的内存空间),则返回0。Eg:double *p;p=new double(30.4)
delete:有效直接地进行动态内存的释放(释放new开辟的空间)Eg:delete p;
注意:
(1)new和delete必须配对使用
(2)运算符delete必须用于先前new分配的有效指针
(3)new可以为数组分配内存,但当释放时,也可以告诉delete数组有多少个元素。Eg:delete [10]p;
类的静态成员特点,引用方式?P92
静态成员是类中的成员,是类的一部分,在类外不可以访问,从而起到保护的作用,其次,静态成员有静态数据成员和静态成员函数之分,静态数据成员和静态变量相似,具有静态生存周期,是在类中声明的全局数据成员,能被同一个类的所有对象所共享。而共有静态函数不仅可以通过类对象来访问,还可以通过“类名::静态成员函数”的形式在程序中直接调用。
注意
静态数据成员:节省空间,对多个对象来说,静态数据成员只存储一处,供所有对象共享。其值是可以修改的,步骤如下:
(1)在类中使用关键字static声明静态数据成员(形式上的虚函数)
(2)在类外为静态数据成员分配内存空间并初始化
说明:
(1)由于静态数据成员在类中所作的声明仅仅声明该成员是属于哪个类的,它是形式上的虚的成员,还必须在类的外部作实际定义才能被所有对象共享,正因如此,静态数据成员的实际定义和初始化本身不受public、private、protected等访问属性的限制。
(2)静态数据成员可以看成类中声明、类外定义的静态全局变量,因为它有静态生存周期,在程序中从实际定义开始产生,到程序结束时消失。静态数据成员的内存空间同样不能在类的构造函数中创建或者是在析构函数中释放
(3)静态数据成员是类中的成员,它的访问属性同普通数据成员一样,可以为public、private和protected,当静态数据成员为public时,则在类外对该成员的访问和引用可有两种方式,一是通过对象来引用,二是直接引用
静态成员函数:
类的继承与派生?P104-P112
继承
继承是指一个事物可以继承其父辈全部或部分的特性,同时本身还有自己的特性
类的继承分为单继承和多继承,如果一个类只有一个基类,则为单继承,否则为多继承,
单继承形式:
class 派生类名:[继承方式]基类名
{
[派生类的成员]
}
多继承形式:
class 派生类名:[继承方式1]基类名1,[继承方式2]基类名2
{
[派生类的成员]
}
以上两种继承均有三种继承方式:分别是public、private、protected
public:共有继承的特点是基类的共有成员和保护成员作为派生类的成员时, 它们都保持原有的状态,而基类的私有成员任然是私有的。
private:私有继承的特点是基类的共有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。
protected:保护继承的特点是基类的所有共有成员和保护成员都成
文档评论(0)