C/C++学习笔记C++

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

2016-11-18  本文已影响19人  青_阳

4-1数据的封装

1.如何进行数据封装

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

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

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

未封装:

数据的封装3.png
    `封装后:`
数据的封装4.png

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

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

数据的封装5.png

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;
}
上一篇 下一篇

猜你喜欢

热点阅读