类:类是引用类型在堆上分配,类的实例进行赋值只是复制了引用,都指向同一段实际对象分配的内存类有构造和析构函数类可以继承和被继承结构:结构是值类型在栈上分配(虽然栈的访问速度比较堆要快,但栈的资源有限放),结构的赋值将分配产生一个新的对象。结构没有构造函数,但可以添加。结构没有析构函数结构不可以继承自 ...
分类:
Web程序 时间:
2018-08-20 23:51:51
阅读次数:
332
61.字符指针、浮点数指针、以及函数指针这三种类型的变量哪个占用的内存最大?为什么? 指针变量占有的空间是固定的,他和计算机操作系统的位数有关系。 62.构造函数可否是虚函数,为什么?析构函数呢,可否是纯虚的呢? 构造函数不可以是虚函数,构造函数的作用是申请内存空间,实例化类成为对象的,而虚函数存储 ...
分类:
编程语言 时间:
2018-08-19 20:55:55
阅读次数:
258
c/c++ 编译器提供的默认6个函数 1,构造函数 2,拷贝构造函数 3,析构函数 4,=重载函数 5,&重载函数 6,const&重载函数 c++ include using namespace std; class Test{ public: Test(int d = 0):data(d){ c ...
分类:
编程语言 时间:
2018-08-19 11:05:17
阅读次数:
138
#include using namespace std; template class List { struct Node { T data; Node* next; Node() {next=NULL;} }; Node* head; public: List() { head = new N... ...
分类:
编程语言 时间:
2018-08-18 17:40:54
阅读次数:
128
①多态的特点是,类中有虚函数。抽象的特点是,类中有纯虚函数。 ②多态的基类可以实例化对象,抽象类不可以实例化对象。如果一个抽象类的派生类没有实现这个抽象类的纯虚函数,那么这个派生类也是个抽象类,也是不能实例化对象。 ③析构函数不是虚函数会有什么影响?在下面程序中,B是A的派生类,有一个A*类型的指针 ...
分类:
其他好文 时间:
2018-08-17 20:54:07
阅读次数:
235
摘要: 智能指针:通过C++模板技术实现的一个类模拟指针的行为(如 、 ) 1. 内存泄漏(臭名昭著的Bug) (1)动态申请堆空间,用完后不归还(堆空间越来越少,的那个程序长时间运行,就会导致总堆空间内存没有了) (2)C++语言中没有垃圾回收的机制 (3)指针无法控制所指堆空间的生命周期(指针是 ...
分类:
其他好文 时间:
2018-08-15 00:42:19
阅读次数:
162
现在的笔试题是真的妖孽啊, 结果是 并不会调用 A 的析构函数。 正常人会这么写代码吗,我挺好奇的。 为什么不会调用A的析构函数呢,这是因为,a所指向的空间类型是void* ,也就是没有类型,没有类型,你怎么调用析构函数,好笑。 但是 这样写,对编译器重新解释一下,就没有问题了。 还是熟人好呀,生人 ...
分类:
其他好文 时间:
2018-08-11 22:00:55
阅读次数:
157
本节主要内容:面向对象介绍、特性、语法 一、面向对象介绍 二、类简单介绍 三、语法 属性、方法、构造函数、析构函数、私有方法、私有属性、类变量、实例变量 四、特性 封装、继承、多态 继承 新式类和经典类继承的顺序区别 继承小示例 学校 多态 ...
分类:
编程语言 时间:
2018-08-09 23:09:45
阅读次数:
192
一、构造函数 1、构造函数是在创建对象时自动调用的对象,在整个对象的生命周期里,一定会被调用一次且只能被调用一次(不包括被强制调用)。 2、在构造函数中可以负责对成员变量的初始化、分配资源、设置对象的初始状态。 3、构造函数可以有多个版本,这些不同的版本之间会构造重载,创建对象时的方式不同、给的参数 ...
分类:
编程语言 时间:
2018-08-08 21:23:57
阅读次数:
159
用构造函数创建对象之后,程序会跟踪对象,直到其过期。对象过期后,程序会调用析构函数完成对象的清理工作。 析构函数的几个特点: 1. 只能有一个析构函数,如果没有显式的定义,编译器会自动生成一个缺省的析构函数; 2. 析构函数不能被重载; 析构函数何时被调用: 1. 如果创建的是静态存储类对象,则析构 ...
分类:
编程语言 时间:
2018-08-07 12:48:48
阅读次数:
148