如果看过我今天早上写的封装的访问权限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大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/352184
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!