面向对象(封装)

1、对封装的理解:

1、封装就是把变量和函数放在一起统一表示某一个食物。 class

2、给类内部的成员增加访问控制权限。

3、封装的语法就是class定义一个类。

2、给对象成员增加访问控制权限public和private:

1、类的内部没有权限之分,类内的成员函数可以访问私有成员变量,类的外部才有权限。

2、如果只是提供类内部的函数使用的变量和函数,建议定义为private私有属性。

3、如果我们写的成员函数需要外部调用,我们可以将其定义为共有属性public。

3、struct与class的区别:

1、struct默认访问权限是public。

2、class默认的访问权限是 private。

3、两者都可以定义一个类,只是访问权限不同而已。

4、拷贝构造函数和析构函数:

构造函数:

语法:类名+(无参数或有参数){实现初始化}

拷贝构造语法:类名+(const 类名& ){实现拷贝构造}

任何对象都必须初始化,构造函数就是负责初始化。构造函数分为普通构造函数,拷贝构造函数,拷贝构造函数是为了防止发生深拷贝和浅拷贝的问题。

语法:~类名(){释放动态内存}

析构函数:

对象内部可能会有一些对象外的资源,析构函数对对象外部资源进行清理。

总结:只要类的内部有指针指向动态内存我们就要提供析构函数和拷贝构造函数。

最新文章

  1. 1.uniq去重命令讲解
  2. 简单理解call_user_func和call_user_func_array两个函数
  3. Linux中修改环境变量导致大量命令不可用的解决办法
  4. java比较两个字符串是否相等
  5. 按Right-BICEP要求的任务二的测试
  6. 《MFC游戏开发》笔记十 游戏中的碰撞检测进阶:地图类型&障碍物判定
  7. 《CSS3秘笈》备忘录
  8. ISNULL
  9. 限制oracle用户创建、删除、修改用户对象
  10. 【温故而知新-万花筒】C# 异步编程 逆变 协变 委托 事件 事件参数 迭代 线程、多线程、线程池、后台线程
  11. (未解决)在JSTL中,session 和 sessionScope 有什么区别 ??
  12. Codeforces #377 Div2
  13. JS面向对象一
  14. StringBuffer类的构造方法
  15. Linux查看线程
  16. 学习Shell(一)
  17. IE浏览器解决无法识别js中getElementsByClassName问题
  18. Repeater控件,判断最少选择一行记录
  19. 彻底理解Java的feature模式
  20. excel数据批量导入

热门文章

  1. 小白学 Python(3):基础数据类型(下)
  2. Webshell免杀绕过waf
  3. java命令行导出、导入sql文件
  4. Cocos Creator实现1024游戏,免费提供代码。
  5. Python编程系列---获取请求报文行中的URL的几种方法总结
  6. 浅谈原理--hashCode方法
  7. 百万年薪python之路 -- python2和python3的区别
  8. web前端面试题(含答案)
  9. MySQL开发篇(4)表类型(存储引擎)的选择
  10. CET4