C++
文章平均质量分 78
George0102
这个作者很懒,什么都没留下…
展开
-
CFileFind类
from:http://jianaipeng1026.blog.163.com/blog/static/200677842008915102250246/CFileFind类 2008-10-15 10:22分类:MFC常用类字号: 大大 中中 小小 1、CFileFind类的声明文件保存在afx.h头文件中。2、该类的实现的功能:执行本地文件的查转载 2012-02-14 17:04:13 · 747 阅读 · 0 评论 -
C++ 对象的内存布局(下)
重复继承 下面我们再来看看,发生重复继承的情况。所谓重复继承,也就是某个基类被间接地重复继承了多次。 下图是一个继承图,我们重载了父类的f()函数。 其类继承的源代码如下所示。其中,每个类都有两个变量,一个是整形(4字节),一个是字符(1字节),而且还有自己的虚函数,自己overwrite父类的虚函数。如子类D中,f()覆盖了超类的函数, f1() 和f2() 覆转载 2014-03-22 20:19:18 · 586 阅读 · 0 评论 -
C++ 对象的内存布局(上)
前言 07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非常简单的,主要是为了说明一些机理上的问题,也是为了图一些表达上方便和简单。不想,这篇文章成为了打开C++对象模型内存布局的一个引子,引发转载 2014-03-22 20:18:00 · 533 阅读 · 0 评论 -
C++ 虚函数表解析
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使原创 2014-03-22 20:10:34 · 496 阅读 · 0 评论 -
漫谈C++深浅拷贝
对于一般的对象,如:int a = 10;int b = 20;它们之间的赋值、复制过程是很简单的。但是对于类对象来说,其内部存在各种类型成员变量,在拷贝过程中会出现问题。如下: 1 #include 2 #include 3 using namespace std; 4 class String { 5 public: 6 String (cons转载 2014-03-29 16:12:45 · 604 阅读 · 0 评论 -
C++中 public,protected, private 访问标号小结
C++中 public,protected, private 访问标号小结第一:private, public, protected 访问标号的访问范围。private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。但不能被该类的对象访问。转载 2013-11-11 17:02:03 · 563 阅读 · 0 评论 -
虚函数
转:http://eriol.iteye.com/blog/1167737关于虚函数的背景知识用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。多态性是一个接口多种实现,是面向对象的核心。分为类的多态性和函数的多态性。多态用虚函数来转载 2013-11-11 10:19:05 · 627 阅读 · 0 评论 -
memcpy()与strcpy()的完全实现
memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束'\0'而结束mem是一段記憶體,他的長度,必須你自己記住str也是一段記憶體,不過它的長度,你不用記,隨時都可以計算出來所以memcpy需要第三個參數,而strcpy不需要====================转载 2013-09-17 23:46:59 · 927 阅读 · 0 评论 -
C++中Static作用和使用方法
C++中Static作用和使用方法2008-10-31 12:201、什么是static? static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。2、为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就转载 2012-02-23 15:12:44 · 456 阅读 · 0 评论 -
静态成员变量 和 静态成员函数
数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员.非成静态员:所有没有加Static的成员都是非静态成员,当类被实例化之后,可以转载 2012-02-15 11:15:12 · 594 阅读 · 0 评论 -
C++类模板友元声明的几种情况
根据《C++ Primer》第三版16.4节的叙述,C++类模板友元分为以下几种情况1.非模板友元类或友元函数。 书上给了一个例子:class Foo{ void bar();};template class QueueItem{ friend class foobar; friend void foo(); friend void Fo转载 2014-03-24 11:32:22 · 3958 阅读 · 0 评论