一、类是什么
在C++中,有许多内置类型,比如int
、char
、bool
、double
但还有一些需要include
一些头文件才能用的类型,比如vector
那么这个vector
到底是什么?
其实vector
就是一个自定义的类,类似于C语言中的结构体
下面举一个例子,初步了解类的概念
二、类的实例
举一个极简单的例子,有助于理解
#include <iostream>
class IntClass
{
public:
IntClass();
IntClass(int num);
void setValue(int num);
int value();
private:
int _value;
};
int main()
{
IntClass num;
num.setValue(2);
std::cout << num.value() << std::endl;
return 0;
}
IntClass::IntClass()
{_value = 0;}
IntClass::IntClass(int num)
{_value = num;}
void IntClass::setValue(int num)
{_value = num;}
int IntClass::value()
{return _value;}
这段代码中自定义了IntClass
类
这个类保存了一个int
变量
并且可以通过函数setValue
来设置
通过函数value
来访问
下面来分析一下这段代码
三、类的结构
第3行: class IntClass
用了class
标识,说明这是一个类,类名为IntClass
第5行: public:
public
标识表示后面的内容是公共的,任意作用域都可以访问
第6、7行:
IntClass();
IntClass(int num);
声明了两个函数
细心的读者会发现这两个函数名与类名相同
C++会将这样的函数识别为构造函数
构造函数只在对象被创建时调用
第9、10行声明了两个函数,这里就不多解释了
第11行: private:
意思和public
相反,即只能在此类的作用域中访问
第12行定义一个变量
第13行收尾,分号一定不能忘
最后,用Type Class::function(arguments){sentences}
的形式定义函数
本序列的文章:
C++类的使用(一)
C++类的使用(二)—— explicit构造与const成员变量赋值
C++类的使用(三)—— 封装
C++类的使用(四)—— 继承
C++类的使用(五)—— 多态
C++类的使用(六)—— 判断继承