7.C++类与封装的概念
2023-09-27 14:28:33 时间
类通常分为以下两部分
- -类的内部具体实现
- -类的外部使用方法
比如:
用户使用手机,只需要知道如何使用.
而手机开发者,则需要考虑手机内部的实现细节.
类的封装
并不是类的每个成员变量和成员函数都要对外公开
比如:
女孩不希望外人知道自己的体重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)使得使用方法和内部细节相分离
相关文章
- 如何系统地学习 C++ 语言?(2021年4月更新)
- C++ CreateThread 线程函数传参
- C++多线程同步技巧(三)--- 互斥体
- C++之log4cpp库的使用
- 传智播客c/c++公开课学习笔记--邮箱账户的破解与邮箱安全防控
- vs2015调试linux C 报错 unrecognized command line opton "-std=c++11"
- 【转】C/C++内存泄漏及检测
- C#封装C++DLL(特别是char*对应的string)
- C++ 事件编程
- C++ 继承
- 《Visual C++ 2012 开发权威指南》——第2章 Visual C++2012语言新特性2.1 Visual C++2012的语言新特性(1)
- 《C++面向对象高效编程(第2版)》——2.5 数据封装的优点
- 【C++】继承详解
- 基于C++模拟火车票售票系统【100010193】
- C++基础(实现通讯录管理系统)
- Carbon教程之Rust不是 C++ 王位的继承人,谷歌的 Carbon 确实(j教程含安装教程)
- C++反汇编第三讲,反汇编中识别继承关系,父类,子类,成员对象
- suseoj 1207: 大整数的乘法(java, 大数相乘, C/C++, 大数相乘)