摘要: 对象的初始化 从程序设计的角度,对象只是变量,因此: 在栈上创建对象时,成员变量初始为随机值 在堆上创建对象时,成员变量初始为随机值 在静态存储区创建对象时,成员变量初始为0值 小结 每个对象在使用之前都应该初始化 类的构造函数用于对象的初始化 构造函数与类同名并且没有返回值 构造函数在对象定义时自 阅读全文
posted @ 2018-05-20 20:50 sugarwill 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 类的关键字 struct在c语言中已经有了自己的含义,必须继续兼容 在c++中提供了新的关键字class用于类定义 class和struct的用法时完全相同的 class和struct有什么区别? 在用struct定义类时,所有成员的默认访问级别为public 在用class定义类时,所有成员的默认 阅读全文
posted @ 2018-05-20 20:22 sugarwill 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 类通常分为以下两个部分 类的实现细节 类的使用方式 类的封装 当使用类是,不需要关心其实现细节 当创建类时,才需要考虑其内部实现细节 c++中类的封装 成员变量:c++中用于表示类属性的变量 成员函数:c++中用于表示类行为的函数 c++中可以给成员变量和成员函数定义访问级别 public 成员变量 阅读全文
posted @ 2018-05-20 18:54 sugarwill 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 类之间的基本关系 继承 从已存在类细分出来的类和原类之间具有继承关系(is-a) 继承的类(子类)拥有原类(父类)的所有属性和行为 组合 一些类的存在必须依赖于其它的类,这种关系叫组合 组合的类在某一局部上由其它的类组成 小结 类之间可以存在继承关系或组合关系 继承关系中子类拥有父类的的一切属性和行 阅读全文
posted @ 2018-05-20 18:40 sugarwill 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 面向对象基本概念 面向对象的意义在于 将日常生活中习惯的思维方式引入程序设计中 将需求中的概念直观的映射到解决方案中 以模块为中心构建可复用的软件系统 提高软件产品的可维护性和可扩展性 类和对象时面向对象中的两个基本概念 类:指的是一类事物,是一个抽象的概念 对象:指的是属于某个类的具体实体 类是一 阅读全文
posted @ 2018-05-20 18:32 sugarwill 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 关于const的疑问 const什么时候为只读变量?什么时候是常量? const常量的判别准则 只有用字面量初始化的const常量才会进入符号表 使用其它变量初始化的const常量仍然是只读变量 被volatile修饰的const常量不会进入符号表 在编译期间不能直接确定初始值的const标识符,都 阅读全文
posted @ 2018-05-20 18:10 sugarwill 阅读(79) 评论(0) 推荐(0) 编辑
摘要: c方式的强制类型转换 (Type)(Expression) Type(Expression) c方式强制类型转换存在的问题 过于粗暴 任意类型之间都可以进行转换,编译器很难判断其正确性 难于定位 在源码中无法快速定位所有使用强制类型转换的语句 问题: 强制类型转换在实际工程中是很难完全避免的! 如何 阅读全文
posted @ 2018-05-20 15:15 sugarwill 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 动态内存分配 c++中的动态内存分配 c++中通过new关键字进行动态内存申请 c++中的动态内存申请是基于类型进行的 delete关键字用于内存释放 变量申请: Type* pointer = new Type; delete pointer; 数组申请: Type* pointer = new 阅读全文
posted @ 2018-05-20 14:48 sugarwill 阅读(141) 评论(0) 推荐(0) 编辑