1 #include 2 using namespace std; 3 class P 4 { 5 public: 6 P(){} 7 virtual ~P(){coutshow();27 }28 void main(void)29 {30 P *s=new Q;31 ...
分类:
其他好文 时间:
2014-12-09 15:34:17
阅读次数:
163
class中变量默认是private,struct中的变量默认是public,其他两个均相似,可以有构造函数析构函数,也可以继承。
#include<iostream>
usingnamespacestd;
enumBREED{GOLDEN,CAIRN,DANDIE,SHETLAND,DOBERMAN,LAB};
structMammal
{
public:
Mammal():itsAge(2),itsWeight..
分类:
其他好文 时间:
2014-12-05 19:32:11
阅读次数:
142
我知道virtual 的虚函数定义,~CMainFrame( )是析构函数,用来释放内存。C++的继承和派生内容。所有可以被用作基类的类一般都用虚析构函数当基类对象的指针或引用调用派生类对象时,如果基类的析构函数不是虚析构函数,则通过基类指针或引用对派生类的析构是不彻底的!会造成内存泄露!
分类:
编程语言 时间:
2014-12-04 11:40:31
阅读次数:
401
通过c++类来模拟实现接口
第一步:
使用vitual
定义函数的功能模块,相当于实现公共界面设计
注意一定要不要忘记添加虚—析构函数
第二步:
继承基类,定义具体的功能模块,并声明具体需要的私有成员变量
第三步:
实现具体的功能模块
第四步:
...
分类:
编程语言 时间:
2014-12-02 15:19:56
阅读次数:
173
1.资源对象没关闭造成的内存泄漏
描述:
资源性对象比如(Cursor,File文件等)往往都用了一些缓冲,我们在不使用的时候,应该及时关闭它们,以便它们的缓冲及时回收内存。它们的缓冲不仅存在于 java虚拟机内,还存在于java虚拟机外。如果我们仅仅是把它的引用设置为null,而不关闭它们,往往会造成内存泄漏。因为有些资源性对象,比如 SQLiteCursor(在析构函数finalize()...
分类:
移动开发 时间:
2014-11-29 14:41:09
阅读次数:
212
1. C的结构体和C++结构体的区别(1)C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数。所以C的结构体是没有构造函数、析构函数、和this指针的。(2)C的结构体对内部成员变量的访问权限只能是public,而C++允许public,protected,private三...
分类:
编程语言 时间:
2014-11-29 13:16:06
阅读次数:
116
简单的字典树应用,在建树的时候判断就行了。需要注意的语法:在使用malloc和free来处理动态内存的时候,仅仅是释放了这个对象所占的内存,而不会调用这个对象的析构函数;使用new和delete就可以既释放对象的内存的同时,调用这个对象的析构函数。所以建立trie时用new更方便一些。注意要每组数据...
分类:
其他好文 时间:
2014-11-28 06:15:59
阅读次数:
171
一、虚函数表原理
陈皓的一篇blog讲的很透彻:http://blog.csdn.net/haoel/article/details/1948051/
虚函数表可以分为:单一继承无虚函数覆盖、单一继承有虚函数覆盖、多重继承无虚函数覆盖和多重继承和有虚函数覆盖。
注意与虚拟继承区分开来
二、多态实现原理
多态则是通过继承、虚函数(virtual)、指针来实现。...
分类:
编程语言 时间:
2014-11-27 18:38:48
阅读次数:
130
一、编译器为空类生成函数的原型以及函数创建的时机
在C++中当创建一个空类时,C++就会默认的为这个类创建4个函数:默认的构造函数、析构函数、拷贝构造函数、以及赋值操作符。
C++中创建一个空类:
class Empty {};
默认会生成4个函数,其函数的原型如下:
public: Empty() { ... } Empty(const Empty& rhs) {...
分类:
编程语言 时间:
2014-11-27 12:44:45
阅读次数:
240
在C++中可以方便地通过运算符new和delete来动态分配内存,其中new的默认语义是分配内存并调用构造函数,而delete的默认语义是调用析构函数并释放内存,需要注意的是这两个运算符都和指针打交道,而涉及到指针事情就有点复杂了...
分类:
编程语言 时间:
2014-11-26 22:38:25
阅读次数:
211