先说一下概念吧!
在C++中,数据封装一般指的是将数据和操作这些数据的函数绑定在一起的程序设计方式。通常使用C++的类来实现。
C++中,数据封装是C++面向对象编程的一种核心概念。
通过数据封装,即将数据和操作数据的函数绑定(封装)在一个类之中,可以产生一种“局部空间”的作用,类似于局部变量,如此各个空间,即各个类就有了各自的“屏障”,可以使变量之间是互不打扰、互不污染的(安全性),然后各司其职,完成程序的工作。可以想象一下,如此一来,C++面向对象的程序之中,各个类就好像一个个组件一样(简化程序),打个比方,就像手机的组件电池用于供电、手机CPU用于运算、手机屏幕则用于输出显示等等。
除此之外,值得一提的是,C++中类的成员在默认情况下(即不指定访问修饰符的情况)都是私有成员,即只能被类中的成员访问,而不能被类外部直接访问,这也是一种保护机制,就像上面所提到的“屏障”。
因此,确切来说,这更应该是一种面向对象的编程思想(可参照下方的实例代码,会发现,这和之前的章节介绍的C++的类的定义好像没什么区别,因此鄙人认为,这更应该是一种编程思想)。
C++数据封装的方式可能不止一种,下面介绍的仅仅只是其中一种:
将数据定义为类的私有成员,将操作数据的函数定义为类公有成员函数。
#include <iostream>
using namespace std;
class Fruit{
public:
// 构造函数
Fruit(string n, int p){
name = n;
price = p;
}
void getData(){
cout << "这是:" << name << endl;
cout << "价格是:" << price << endl;
}
private:
// 私有成员
string name;
int price;
};
int main(){
Fruit apple("苹果", 6);
apple.getData();
return 0;
}
编译运行后,得到输出:
这是:苹果
价格是:6
免责声明:内容仅供参考,不保证正确性。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。