C++在C语言的基础上增加了面向对象编程
类是C++的核心特性
类的定义
类用于指定对象的形式,包含了数据的类型和处理数据的方法。类中的数据和方法称为类的成员。定义一个类,本质就是在这个类中定义数据类型,和相应处理该数据的方法。形式为:
class 类名
{
...//数据和方法
}
例如
class Box
{
public:
int length; //长
int width; //宽
int height; //高
public:
void Volume() //计算体积
{
std::cout<<"volume:"<<length*width*height<<endl;
}
}
解释一波上面的public以及private还有protected
public :表示公有成员变量,表示该变量或者方法可以在类外访问
private:表示私有成员变量,在类中如果不指定是哪种类型,默认为private类型,私有成员变量表示只能在该类中进行访问
protected:保护型变量跟private变量很相似,但是有一点不同的是,保护型变量可以在派生类中进行访问,即继承这个类的子类中也可以访问
对象
声明类的对象就跟声明普通的变量一样
Box box; //声明一个Box类的对象
例子:
#include<iostream>
using namespace std;
class Box
{
public:
int length; //长
int width; //宽
int height; //高
void Volume()
{
cout << "Volume:" << length*width*height << endl;
}
};
int main()
{
Box box;//声明一个对象
box.length = 2;//因为是public变量所以可以直接在类外面访问
box.width = 2;
box.height = 2;
box.Volume();
return 0;
}
运行结果:
Volume: 8
那么如果是private或者protected变量如何在类外进行访问或者操作呢?
请看下面
#include <iostream>
using namespace std;
class Box
{
private:
int length;
int width;
int height;
public:
void setlength(int x) //写一个public方法用来传参数赋值给类中的成员变量以length为例
{
length = x;
}
int getlength() //写一个public方法用来获取类中的 成员变量
{
return length;
}
};
int main()
{
Box box;
box.setlength(2);
int length = box.getlength();
cout << length << endl;
return 0;
}
输出结果为:2
当然还有其他的方法,比如构造函数等,这些我们以后再说。