C++——对象和类
对象
对象与属性
人类对对象的认识
研究属性,观察行为
所有的对象可以分类,同类对象具备很多相同的属性
C++也用结构和类来描述属性
程序由一个个对象组成,这些程序叫面向对象的程序。
编写面向对象程序的过程就成为面向对象的程序设计
除了基本的那些数据属性性,C++引入了关键字class定义类,引入struct定义结构体
一般结构体
结构体定义、引用、输入输出、赋值
结构体与内存
结构体数组、结构体指针
结构体指针作为为函数参数
结构体作为函数返回类型
结构体的提出
单一对象有许多相关信息,这些信息彼此相关,物理上(文件/内存)连续,要求能用统一、简单方法引用整体或各子信息。
将相关各子信息进行打包,打包的结果就是结构体。这是一种自定义的、新的数据类型。用“”的方法可对子信息进行引用。
结构体类型的定义
例:学生信息
学号 num
姓名 name
成绩 score;
定义了新的数据类型
struct student
结构体类型定义
struct student
{
int num;
char name[20];
float score;
};
结构体变量的定义和引用
struct student st1;//st1变量名
cin >> >> >> ;
cout << << ","
<< << ","
<< << endl;
结构体变量的内存分配
结构变量的地址
&st1
结构成员的地址
&
&[0]
()
结构变量占用空间
sizeof(st1)
sizeof(struct student)
地址
值
变量
st1:
2000H
101
2004H
"wang"
2018H
struct student st1 =
{101, "wang", };
结构体数组
3个学生的信息
struct student stu[3];
结构体数组的初始化
struct student stu[3]={
{101, "wang", }, {第2个}, {第3个} };
结构体数组的内存分配
各学生依次分配内存
结构体数组的引用、输入、输出
stu[i].num
stu[i].name
stu[i].name[j]
结构体指针
指向结构体变量的指针
struct student *p;
指针的初始化
p = &st1;
通过指针引用结构体
(*p).num p->num
(*p).name p->name
结构体与函数:通过指针传递
参数传递:单个结构体变量
void printstudent( struct student *p );
参数传递:结构体数组
float averscore(struct student st[ ], int n );
或 float averscore( struct student *p, int n );
函数返回:结构体变量
struct student *findstudent( struct student st[], int n, int num );
C 结构和类 来自淘豆网m.daumloan.com转载请标明出处.