C++
Nicola-Zhang
0
展开
-
为什么基类指针和引用可以指向派生类对象,但是反过来不行
基类指针和引用 BaseClass *pbase = NULL; DerivedClass dclass; pbase = & dclass; 基类指针和引用可以指向派生类对象,但是无法使用不存在于基类只存在于派生类的元素。(所以我们需要虚函数和纯虚函数) 原因是这样的: 在内存中,一个基类类型的指针是覆盖N个单位长度的内存空间。 当其指向派生类的时候,由于派生类元素在内存中堆放是:前N个...转载 2019-03-31 17:49:35 · 731 阅读 · 0 评论 -
new 和 malloc区别
new为C++中分配内存使用函数,malloc为C中常用分配内存函数。 new/delete配对使用,调用new之后一定要对应出现delete的调用,否则出现内存泄漏; malloc/free配对使用,使用原则同理; 返回值类型 new:内存分配成功之后返回对象类型指针,类型和对象严格匹配;当内存分配失败时,抛出bac_alloc异常; malloc:内存分配成功,返回为void*类型指针,使用...原创 2019-04-06 15:20:44 · 102 阅读 · 0 评论 -
C++接口(抽象类)
1. C++接口 接口描述了类的行为和功能,而不需要完成类的特定实现。 C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。 如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用 “= 0” 来指定的,如下所示: class Box { public: // 纯虚函数 virtual double get...原创 2019-04-02 20:22:44 · 573 阅读 · 0 评论 -
【转】内存分配中new和malloc的区别?delete和free的区别?
内存分配中new和malloc的区别?delete和free的区别? 2018年06月09日 00:45:32 番茄都是西红柿 阅读数:1444 版权声明: https://blog.csdn.net/qq_39539470/article/details/80629611 new与malloc的区别: 1、申请的内存所在位置 new是一种操作符,从自由存储区上为对象动态分配内存空间;而mallo...转载 2019-04-02 20:35:48 · 141 阅读 · 0 评论 -
【转】C++之容器使用
【转】C++中 vector(容器)的用法 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 用法: 1.文件包含: 首先在程序开头处加上#include<vector>以包含所需要的类文件vector ...转载 2019-04-14 22:58:33 · 360 阅读 · 0 评论