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中的函数

原文链接: https://www.cnblogs.com/jdr-blog/p/13025829.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

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

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/352184

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午7:23
下一篇 2023年3月2日 上午7:23

相关推荐