会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
sugarwill
博客园
首页
新随笔
联系
管理
订阅
上一页
1
2
3
4
5
6
下一页
2018年6月21日
经典问题解析四
摘要: new关键字与malloc函数的区别 new关键字是c++的一部分 malloc是由c库提供的函数 new以具体类型为单位进行内存分配 malloc以字节为单位进行内存分配 new在申请内存空间时可进行初始化 malloc仅根据需要申请定量的内存空间 构造函数不可能成为虚函数 在构造函数执行结束后,
阅读全文
posted @ 2018-06-21 23:49 sugarwill
阅读(166)
评论(0)
推荐(0)
2018年6月8日
被遗弃的多重继承
摘要: c++支持编写多重继承的代码 一个子类可以拥有多个父类 子类拥有所有父类的成员变量 子类继承所有父类的成员函数 子类对象可以当作任意父类对象使用 多重继承的问题一 通过多重继承得到的对象可能拥有“不同的地址”!! 解决方案:无 多重继承的问题二 多重继承可能产生冗余的成员 当多重继承关系出现闭合时将
阅读全文
posted @ 2018-06-08 02:16 sugarwill
阅读(136)
评论(0)
推荐(0)
c++中的抽象类和接口
摘要: 面向对象中的抽象类 可用于表示现实世界中的抽象概念 是一种只能定义类型,而不能产生对象的类 只能被继承并重写相关函数 直接特征是相关函数没有完整的实现 c++语言中没有抽象类的概念 c++中通过纯虚函数实现抽象类 纯虚函数是指只定义原型的成员函数 一个c++类中存在纯虚函数就成为了抽象类 抽象类只能
阅读全文
posted @ 2018-06-08 01:35 sugarwill
阅读(2577)
评论(0)
推荐(0)
c++对象模型分析
摘要: class是一种特殊的struct 在内存中class依旧可以看作变量的集合 class与struct遵循相同的内存对齐规则 class中的成员函数与成员变量是分开存放的 每个对象有独立的成员变量 所有对象共享类中的成员函数 运行时的对象退化为结构体的形式 所有成员变量在内存中依次排布 成员变量间可
阅读全文
posted @ 2018-06-08 01:19 sugarwill
阅读(226)
评论(0)
推荐(0)
多态的概念和意义
摘要: 函数重写回顾 父类中被重写的函数依然会继承给子类 子类中重写的函数将覆盖父类中的函数 通过作用域分辨符(::)可以访问到父类中的函数 面向对象中期望的行为 根据实际的对象类型判断如何调用重写函数 父类指针(引用)指向 父类对象则调用父类中定义的函数 子类对象则调用子类中定义的重写函数 面向对象中多态
阅读全文
posted @ 2018-06-08 00:51 sugarwill
阅读(3512)
评论(0)
推荐(0)
父子间的冲突
摘要: 子类可以定义父类中的同名成员 子类中的成员将隐藏父类中的同名成员 父类中的同名成员依然存在于子类中 通过作用域分辨符(::)访问父类中的同名成员 c.Parent::mi 类中的成员函数可以进行重载 1.重载函数的本质为多个不同的函数 2.函数名和参数列表是唯一的标识 3.函数重载必须发生在同一个作
阅读全文
posted @ 2018-06-08 00:34 sugarwill
阅读(269)
评论(0)
推荐(0)
2018年5月31日
继承
摘要: 重要规则: 子类就是一个特殊的父类 子类对象可以直接初始化父类对象 子类对象可以直接赋值给父类对象 继承中的访问级别 面向对象中的访问级别不只是public和private 可以定义protected访问级别 关键字protected的意义 修饰的成员不能被外界直接访问 修饰的成员可以被子类直接访问
阅读全文
posted @ 2018-05-31 23:55 sugarwill
阅读(167)
评论(0)
推荐(0)
2018年5月30日
类型转换函数
摘要: 标准数据类型之间会进行隐式的类型安全转换 转换规则如下 char ->short char/short ->int ->unsigned int -> long ->unsigned long ->float ->double char+short -> int 再论构造函数 构造函数可以定义不同类
阅读全文
posted @ 2018-05-30 01:27 sugarwill
阅读(557)
评论(0)
推荐(0)
2018年5月29日
经典问题解析三
摘要: 编译器为每个类默认重载了赋值操作符 默认的赋值操作符仅完成浅拷贝 当需要进行深拷贝时必须重载赋值操作符 赋值操作符与拷贝构造函数有相同的存在意义 Test& operator = (const Test& obj) { if (this != obj) { delete m_pointer; m_p
阅读全文
posted @ 2018-05-29 01:01 sugarwill
阅读(106)
评论(0)
推荐(0)
函数调用操作符
摘要: 函数调用操作符( ( ) ) 只能通过类的成员函数重载 可以定义不同参数的多个重载函数 函数对象用于在工程中取代函数指针 int operator () () { int ret = a1; a1 = a0 + a1; a0 = ret; return ret; } Test t; t();
阅读全文
posted @ 2018-05-29 00:42 sugarwill
阅读(255)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
下一页
公告