第十二章C与C++ pchar-new char ∥开辟了三块内存区 pint=new Int pnode=new node chara ∥/为内存单元赋值 pint=6 pnode->name=hello pnode->salary=1000
第十二章 C与C++ pchar=new char; // pint= new int; pnode=new node; *pchar=′a′; // *pint=6; pnode->name="hello "; pnode->salary=1000;
第十二章C与C+ 123C++的核心新特性类 1231类 以下是一个有关“人”的类的定义 class chunan∥cass—类定义关键字 ichar name L20] ∥/类的数据成员 int age void GetInfoo ∥/类的成员函数 void OutInfol
第十二章 C与C++ 12.3 C++的核心新特性——类 12.3.1 类 以下是一个有关“人”的类的定义 class CHuman // class ——类定义关键字 {char name[20]; // int age; void GetInfo() // {…… } void OutInfo() {…… } };
第十二章C与C++ 1232类实例 类的定义格式与结构体类型定义格式类似,其含义也类 似,均是定义了一种新的数据类型,要作为程序处理的对象。 对于结构体类型,接着要定义结构体型变量以便在程序中引 用(如第九章中的 struct staff worker 1, worker2;);对于类, 则要生成类实例,又称为类对象。其地位如同变量。如在上 述的 HUman类定义之后,语句: HUman human;(类名前不需加关键字clas 就生成了类 HUman的实例 human,即为类对象 human分配了 块可以存放数据和对数据进行处理的程序代码的内存块, 又称为类的实例化
第十二章 C与C++ 12.3.2 类实例 类的定义格式与结构体类型定义格式类似,其含义也类 似,均是定义了一种新的数据类型,要作为程序处理的对象。 对于结构体类型, 接着要定义结构体型变量以便在程序中引 用(如第九章中的struct staff worker1, worker2;); 对于类, 则要生成类实例,又称为类对象。其地位如同变量。如在上 述的CHuman类定义之后,语句: CHuman human; (类名前不需加关键字class) 就生成了类CHuman的实例human,即为类对象human分配了 一块可以存放数据和对数据进行处理的程序代码的内存块, 又称为类的实例化
第十二章C与C++ 和内部变量一样,类对象在定义范围内有效(如在函数 内定义的类对象,在函数返回时销毁)。一个类可以生成 多个实例。也可以用C++的new操作符生成类的实例如下 CHuman * PHuman=new Human 这个语句分配足以放置类对象的内存块并返回其首地 址给这个对象的指针。对象所占内存保持到用 delete操作符 释放 delete human: C++中多用这种分配、销毁模式
第十二章 C与C++ 和内部变量一样,类对象在定义范围内有效(如在函数 内定义的类对象, 在函数返回时销毁)。一个类可以生成 多个实例。 也可以用C++的new操作符生成类的实例如下: CHuman *PHuman=new CHuman; 这个语句分配足以放置类对象的内存块并返回其首地 址给这个对象的指针。对象所占内存保持到用delete操作符 释放: delete PHuman; C++中多用这种分配、 销毁模式
第十二章C与C++ 123.3类成员的访问 例12.1使用C语言全局变量实现有关一个人的信息的输 出操作。 t include <string. h> #t include <stdio. h> char name [20] /*两个全局变量* nt age void GetInfoo (strcpy (name, " Li age =22
第十二章 C与C++ 12.3.3 类成员的访问 例 12.1 使用C语言全局变量实现有关一个人的信息的输 出操作。 #include <string.h> #include <stdio.h> char name[20]; /* 两个全局变量 */ int age; void GetInfo() {strcpy(name , "Li -Li"); age=22; }