C ++ 类 您所在的位置:网站首页 c语言类使用混杂定义 C ++ 类

C ++ 类

2024-02-24 03:36| 来源: 网络整理| 查看: 265

 C ++ 中的 类 是用户定义的数据类型。 它可以有数据和函数。这听起来有点抽象,所以让我们看一个类的例子。让我们创建一个名为 'Student' 的类型。我们希望获得与每个学生相关的信息。 所以我们说我们的学生数据类型有:

a namean id numbera graduation date

这三个是 学生类 的成员:

class Student { string name; int id; int gradDate; };

关于C ++类的好处,默认是使所有成员都是私有的。这意味着只有该类的其他成员才能访问该数据。听起来很糟糕....我们的数据类型包含我们无法访问的数据。 但是,请记住,我说过C ++类可以有 函数 和 数据 。

我们可以使用函数来访问类中的数据。

访问 和 修改类中数据值的函数称为 mutators 。mutator 顾名思义,就是指能够改变类成员数据的类成员函数。说到mutator,就要提到 accessor,C++的类 accessor 和 mutator,其实对应的分别就是 get 和 set 性质的函数;前者是只读性质的函数,而后者则是只写性质的。这也是C++类的封装特性的具体表现。 

现在让我们将 setName 函数(类中的函数也称为方法)添加到 Student 类中。 回想一下,类中成员的默认值是私有的。 我们希望访问函数是公有的。所以,我们添加了关键字 "public", 所有成员在 "public" 下面列出的都是可访问的:

class Student { string name; int id; int gradDate; public: void setName(string name); };

让我们创建一些函数来改变我们名为 Student 的类中的数据值,传统上,setDataName 是我们用来更改类中数据的。

在我们的例子中,我们有三个数据值:

nameidgradDate

所以让我们创建一个函数来改变 name 的值:这只是通常的 C ++ 函数。 它接受输入字符串 并且 不返回任何内容。

注意,这个时候你可能会问,void 是什么?

答:void是空的意思,一般用来表示无参数或者无返回。

比如在函数定义的时候可以用 void func(void); 前面的表示函数无返回,括号里表示函数无参数。或者 void * 可以表示无类型指针,允许被强制转化成任意类型指针。

void setName(std::string nameIn)

 现在让我们添加一个函数来评估 Student类 中的每个数据值,一个类的示例:

class Student { string name; int id; int gradDate; public: void setName(string nameIn); void setId(int idIn); void setGradDate(int dateIn); };

因此,我们可以设置数据,但现在我们需要 "get" 数据。 传统上这些被称为 get-functions。它们的格式为 getDataValue。获取函数返回数据,因此 get 函数将变量类型作为返回变量。例如:要访问名为 name 的数据,函数声明将是:

string getName();

如果我们为每个数据成员执行 get 函数,则 Student类 应如下所示,一个类的例子:

class Student { string name; int id; int gradDate; public: void setName(string nameIn); void setId(int idIn); void setGradDate(int dateIn); string getName(); int getId(); int getGradDate(); void print(); };

我们已经声明了我们的 成员 和 函数 ,现在我们需要定义它们。 以下是我们的学生班:

class Student { string name; int id; int gradDate; public: void setName(string nameIn); void setId(int idIn); void setgradDate(int dateIn); string getName(); int getId(); int getGradDate(); };

现在让我们先定义修改函数成员:

void Student::setName(string nameIn) { name = nameIn; } void Student::setId(int idIn) { id = idIn; } void Student::setGradDate(int gradDateIn) { gradDate = gradDateIn; }

然后让我们再来定义访问函数成员:

string Student::getName() { return name; } int Student::getId() { return id; } int Student::getGradDate() { return gradDate; }

 让我们来看看我们到目前为止在学生班中所拥有的内容。

class Student { string name; int id; int gradDate; public: void setName(string nameIn); void setId(int idIn); void setgradDate(int dateIn); }; Student::setName(string nameIn) { name = nameIn; } Student::setID(int idIn) { id = idIn; } Student::setGradeDate(int gradDateIn) { gradDate = gradDateIn; }

我们的学生班已准备就绪。还有一个我想要添加到类中的函数成员,它不是必需的,但它很好。该函数称为打印。此函数将打印类中的所有数据值。

void print() { cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有