在生活中我们经常会看到物体,动物等等,那么在程序中如何更好的表示这些内容呢?
其实编程语言最初的设计已经为我们考虑好了这些内容,因为是C、C++教程,所以我们分开来写;
当是C语言的时候:
我们可以使用struct来定义想要的信息;
比如我们定义一个学生;
学生在学习的生活中会有姓名,年龄,成绩,所学课程,年级,班主任姓名等等;
所以我们可以定义一个结构体:
struct student
{
char name[64]; // 学生姓名
int age; // 年龄
int grade; //总成绩
/*还可以继续定义其他信息*/
}
说明一下,struct是关键字,定义结构体的关键字,student是结构体名称;“{}”花括号内的就是结构体的信息;我们定义了一个名称,一个年龄,一个总成绩;
当是C++的时候:
C++的时候我们可以选择C的方式,就是定义一个结构体;在这里就不再赘述,可以看看上面的内容;
另外一种方式就是使用类来定义;
class student
{
public:
student(){}
~student(){}
public:
char name[64];
int age;
int grade;
};
类的定义关键字是class,后面跟着类名;
然后看到public,该关键字是说明后面跟着的函数或者变量的作用域;关于作用域,我们会单独抽出来讲,现在只要记得,public是可以供外部使用的就可以了;然后是一个和类名相同的函数,注意看该函数没有返回值,我们称它为构造函数,另一个函数是~符号加类名,这个是析构函数,构造函数顾名思义就是创建对象的,析构函数就是释放对象的,现在只需要知道这两个函数的作用即可;
接下来是我们定义的类的成员变量;这些变量与结构体的变量信息相同;
如何使用这些,声明我们想要的变量
我们知道如何组合我们的信息,但是却不知道组合后如何声明我们想要的变量;
我们以C++程序为例,定义两个学生,然后设置两个学生的年龄;
程序如下:
#include <iostream>
using namespace std;
struct tag_student
{
char name[64]; // 学生姓名
int age; // 年龄
int grade; //总成绩
/*还可以继续定义其他信息*/
};
class Cls_student
{
public:
Cls_student(){}
~Cls_student(){}
public:
char name[64];
int age;
int grade;
};
int main()
{
tag_student student1; // 结构体声明学生1
Cls_student student2; // 结构体声明学生2
student1.age = 16; // 设置学生1年龄
student2.age = 18; // 设置学生2年龄
cout <<student1.age << "\n"<<student2.age;
return 0;
}
最终程序输出结果:
16
18
你做对了吗?