c++入门: 封装的访问权限2

 如果看过我今天早上写的封装的访问权限1,可以想起来我举了一个银行卡的例子

这一篇2,我想要继续写一点变量定义在private之中的实际用途

举一个粗糙的例子

例如我们有一张身份证,上面包括有我的姓名,我的出生日期,我的身份证号,我的户籍地址

我们来仔细考虑一下这些数据的类型

我的姓名,可以改变,例如家里离婚,妈妈愤怒的把你改成她的姓

出身日期,肯定改变不了

身份证号,也变不了

户籍地址,可以变,虽然北京上海等地可能很难,这里这个数据有另一个性质,就是带有隐私性,一般来说,你去网吧上网,老板通过刷卡机刷你的身份证时,只能看到你其他三条数据,户籍地址是看不到的

好了,归纳一下这里有三种类型的数据

可以读可以写

只能读不能写

可以写不能读(有些勉强)

那么就可以写一个小程序,通过不同的接口实现不同的功能

#include<iostream>
#include<string>
using namespace std;
class Idcard{
private:
    string name;
    int cardnumber=5201314;
    string birthplace;
public:
    string setname(string n_name)
    {
        name = n_name;
        return name;
    }
    void showname()
    {
        cout << name << endl;
    } //为姓名提供了可读可写的接口
    void shownumber()
    {
        cout << cardnumber << endl;
    } //为身份证号留出一个可读接口
    string setplace(string n_place)
    {
        birthplace = n_place;
        return birthplace;
    } //为户籍地仅仅留下可写一个接口
};
int main()
{
    Idcard p1;
    p1.setname("lzy");
    p1.showname();
    p1.shownumber();
    p1.setplace("China");
    return 0;
}

可见在这个例子中,数据都写在private中,而不同接口的实现则要依靠public中的函数

posted @ 2020-06-01 16:20  爱学习的好青年  阅读(147)  评论(0)    收藏  举报