上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 48 下一页
摘要: 类模板的概念和意义类模板一些类主要用于存储和组织数据元素类中数据组织的方式和数据元素的具体类型无关如:数组类,链表类,stack类,Queue类等C++中将模板的思想应用于类,使得类的实现不关注数据元素的具体类型,而只关注类所需要实现的功能 C++中的类模板-以相同的方式处理不同的类型-在类声明前使 阅读全文
posted @ 2019-12-05 22:38 一代枭雄 阅读(591) 评论(0) 推荐(0)
摘要: 函数模板深入理解-编译器从函数模板通过具体类型产生不同的函数-编译器会对函数模板进行两次编译 对模板代码本身进行编译 对参数替换后的代码进行编译 注意事项:-函数模板本身不允许隐式类型转换 自动推导类型时,必须严格匹配 显示类型指定时,能够进行隐式类型转换 编程实验函数模板本质分析 多参数函数模板函 阅读全文
posted @ 2019-12-05 21:47 一代枭雄 阅读(298) 评论(0) 推荐(0)
摘要: 发散性问题 C++中有几种交换变量的方法? 定义宏代码块 VS 定义函数 编程实验 利用定义宏代码块的方法看上去很完美,但是宏是预处理器处理的程序单元,后续出场的编译器根本不知道宏的存在,因此不推荐用宏来完成类似函数的功能。因为不安全。 直接定义函数 定义宏代码块-优点:代码复用,适合所有的类型-缺 阅读全文
posted @ 2019-12-04 22:17 一代枭雄 阅读(600) 评论(0) 推荐(0)
摘要: dynamic_cast是与继承相关的类型转换关键字dynamic_cast要求相关的类中必须有虚函数用于直接或者间接继承关系的指针(引用)之间-指针: 转换成功:得到目标类型的指针 转换失败:得到一个空指针 -引用: 转换成功:得到目标类型的引用 转换失败:得到一个异常操作信息 编译器会检查dyn 阅读全文
posted @ 2019-12-02 22:17 一代枭雄 阅读(687) 评论(0) 推荐(0)
摘要: 构造函数是否可以成为虚函数?构造函数不能成为虚函数-C++中的多态是由指向虚函数表的指针来完成的,那么指向虚函数表的指针是由编译器创建的,同时也是由编译器进行初始化。那什么时候对虚函数表指针进行初始化呢?-在构造函数执行结束后,虚函数表指针才会正确的初始化 析构函数是否可以成为虚函数?-建议在设计类 阅读全文
posted @ 2019-12-02 21:42 一代枭雄 阅读(404) 评论(0) 推荐(0)
摘要: new和malloc的区别是什么?-new关键字是C++的一部分,在所有的C++编译器中都被支持-malloc是由C库提供的函数,在某些系统开发中是不能调用的-new以具体类型为单位进行内存分配-malloc以字节为单文进行内存分配-new在申请内存空间时可以进行初始化,它会触发构造函数的调用-ma 阅读全文
posted @ 2019-12-02 20:55 一代枭雄 阅读(226) 评论(0) 推荐(0)
摘要: 工程开发中的多重继承方式:(这是面向对象理论中所推荐的方式)单继承某个类 + 实现(多个)接口 在父类中添加一个成员函数,用于解决在多继承的情况下指向同一个对象的多个指针它们的值不一样。定义接口class Interface1、class Interface2这样的方式是工程中常用的一种解决方案。但 阅读全文
posted @ 2019-12-01 23:37 一代枭雄 阅读(283) 评论(0) 推荐(0)
摘要: 多重继承的问题三:多重继承可能产生多个虚函数表 sizeof(d) = 8 相关的三个类中都没有定义成员变量,那这8个字节是从哪来的,谁占用的?虚函数表指针 在Derived这个类中有两个成员,这两个成员都是虚函数表指针。在创建对象的时候,这两个成员会指向不同的虚函数表 需要进行强制类型转换时,C+ 阅读全文
posted @ 2019-12-01 22:53 一代枭雄 阅读(278) 评论(0) 推荐(0)
摘要: 问题:C++中是否允许一个类继承自多个父类呢?答案是肯定的,这种现象就是多重继承多重继承是C++中一个特有的特性,因为在其他的程序设计语言里面,如C#、java等语言只支持单重继承 C++支持编写多重继承的代码-一个子类可以拥有多个父类-子类拥有所有父类的成员变量-子类继承所有父类的成员函数-子类对 阅读全文
posted @ 2019-12-01 21:49 一代枭雄 阅读(266) 评论(0) 推荐(0)
摘要: 什么是抽象类面向对象中的抽象概念在进行面向对象分析时,会发现一些抽象的概念图形的面积如何计算? 在现实中需要知道具体的图形类型才能求面积,所以对概念上的图形求面积是没有意义的 Shape只是一个概念上的类型,没有具体的对象。 面向对象中的抽象类-可用于表示现实世界中的抽象概念-是一种只能定义类型,而 阅读全文
posted @ 2019-12-01 20:34 一代枭雄 阅读(262) 评论(0) 推荐(0)
上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 48 下一页