1.0 C++远征:数据的封装

4-1数据的封装

1.如何进行数据封装

未进行数据的封装,成员变量容易发生数据的泄露:

进行数据的封装(这是面向对象的思想),成员变量设为private属性,只能通过set和get方法来赋值和取值,提高了数据的安全性:

2.封装的好处

(1)可以对成员变量的赋值范围进行限制

未封装:

	`封装后:`

(2)限定成员变量只可读取不可设置

只提供get方法不提供set方法:

3.代码演示

#include <iostream>
#include <string>
using namespace std;

/**
* 定义类:Student
* 数据成员:名字、性别、学分、学习
*/
class Student
{
public:
	void setName(string _name){//类内定义方法
		m_strName = _name;
	}
	string getName(){
		return m_strName;
	}

	void setGender(string _gender){
		m_strGender = _gender;
	}
	string getGender(){
		return m_strGender;
	}

	double getScore(){
		return m_dScore;
	}

	void initScore(){
		m_dScore = 0.0;
	}

	void study(double _score){
		m_dScore += _score;
	}

private:
	string m_strName;
	string m_strGender;
	double m_dScore;
};

int main()
{
	// 实例化一个Student对象stu
	Student stu;
	stu.initScore();
	// 设置对象的数据成员
	stu.setName("青阳");
	stu.setGender("男");

	stu.study(5.0);
	stu.study(3.0);

	// 通过cout打印stu对象的数据成员
	cout << stu.getName() << " " << stu.getGender() << " " << stu.getScore() << endl;

	system("pause");
	return 0;
}
原文地址:https://www.cnblogs.com/xiaoqingyang/p/6076612.html