类通常分为以下两部分
- -类的内部具体实现
- -类的外部使用方法
比如:
用户使用手机,只需要知道如何使用.
而手机开发者,则需要考虑手机内部的实现细节.
类的封装
并不是类的每个成员变量和成员函数都要对外公开
比如:
女孩不希望外人知道自己的体重weight和年龄age
男孩不希望外人知道自己的身高height和工资salary
而某些属性是对外公开的
比如:姓名,学历,国籍等.
所以在类里,可以给成员变量和成员函数定义访问级别:
- -public公开成员,允许成员变量和成员函数可以被类内部和外界使用(默认为public)
- -private私有成员,只能被类内部使用
类成员的作用域
类成员的作用域都只在类的内部,外部无法直接访问
成员函数可以直接访问成员变量和调用成员函数
类的外部可以通过类变量访问public成员
类成员的作用域与访问级别没有关系
参考如下代码:
#include <stdio.h>
int i = 1; //定义全局变量
struct Test
{
private:
int i; //定义私有成员变量i
public:
int j;
int getI()
{
i = 3;
return i;
}
};
int main()
{
int i = 2; //定义局部变量i
Test test;
test.j = 4;
printf("i = %d\n", i); // i = 2; 使用局部变量
printf("::i = %d\n", ::i); // ::i = 1;使用全局变量
// printf("test.i = %d\n", test.i);// Error 访问私有成员,出错
printf("test.j = %d\n", test.j); //test.j = 4
printf("test.getI() = %d\n", test.getI()); // test.getI()=3 通过公开成员,去访问私有成员
return 0;
}
小结
类通常分为使用方法和内部细节两部分
类的封装机制(public/private)使得使用方法和内部细节相分离
原文链接: https://www.cnblogs.com/lifexy/p/8525994.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/269999
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!