首页 > 编程 > C++ > 正文

C++教程:类是一种数据类型

2020-05-23 14:26:11
字体:
来源:转载
供稿:网友
我们已经了解了数据类型和变量的关系。数据类型是各个变量的归类,而变量则是某个数据类型的具体表现,我们称变量为数据类型的一个实例(Instance)。各个变量都有他们的属性:内容和占用内存空间等等;各个变量都有他们的操作:算术运算或逻辑运算等等。从这个角度来看,类和对象的关系就如同数据类型和变量的关系。我们不妨将类看作一种自定义的数据类型,那么对象就是一种属于该类型的变量。

类与结构

在第九章我们学习了结构类型,知道它是一种由用户自己定义的数据类型。我们已经能够使用结构刻画一些现实生活中的东西,但却无法让它“动起来”。所有对它的操作都要依赖于为它编写的函数。

类与结构是相似的。它也是一种由用户自己定义的数据类型;它也可以通过成员数据来刻画一些现实生活中的东西。不同的是,对它的操作并不是通过普通的函数,而是通过类的成员函数来实现的。

下面我们先来看一下,如何定义一个类和它的成员数据:
class 类名
{
   数据类型 成员变量1;
   数据类型 成员变量2;
   ……
};

看来如果仅仅是定义成员数据,类和结构是非常相似的,唯一的不同就是把保留字struct换成了class。在这里还是要提醒一下,定义完一个类之后务必要在最后加上一个分号。

类的声明与定义

如果类的定义和主函数在同一个源文件里,那么就会可能遇到这样的问题:在类定义之前,主函数使用了这个类。这将会导致错误的发生,因为主函数还没有意识到这个类的存在。所以这个时候我们必须在主函数之前声明这个类的存在,其作用类似于函数原型。如:
class A;//类的声明
int main()//主函数
{
   ……
}
{
   ……
};//千万别忘了这个分号

我们还可以将一个类定义在一个头文件中,然后在源文件中包含这个头文件。由于包含头文件的动作在主函数运行之前,所以不必在主函数之前声明这个类。比如:
//class.h
class A//类的定义
{
   ……
};
//main.cpp
#include "class.h"//要注意这里必须用双引号,而不能用<>
int main()
{
   ……
}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表