![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 68
_志大才疏
这个作者很懒,什么都没留下…
展开
-
C++的虚基类,抽象类,虚函数,纯虚函数,virtual
C++的虚基类,抽象类,虚函数,纯虚函数,virtual虚基类在说明其作用前先看一段代码class A{public:int iValue;};class B:public A{public:void bPrintf(){cout};class C:public A{public:void cPrintf(){cout转载 2013-02-26 22:07:11 · 348 阅读 · 0 评论 -
命名空间
10C++中namespace的使用http://blog.sina.com.cn/s/blog_986c99d601010hiv.html转载 2014-05-15 17:12:17 · 289 阅读 · 0 评论 -
虚函数
http://baike.baidu.com/link?url=heYKUVZNDYa2dR2slQccCLhDvoQ47KQQkmibQpOUPaFlKnHTwO6NeWxBBd_H4EEP转载 2014-04-23 05:46:31 · 336 阅读 · 0 评论 -
引用
12转载 2014-05-16 09:31:52 · 363 阅读 · 0 评论 -
关于typedef的用法
http://wenku.baidu.com/view/94ec3176a417866fb84a8ec1.htmltypedef void (*pf_taking_pfv)(pfv);转载 2014-04-24 16:16:33 · 698 阅读 · 0 评论 -
[转载]关于C++的子类指针指向父类.
http://blog.sina.com.cn/s/blog_3ce156ce01000af4.html1,直接用基类指针引用基类对象2,直接用派生类指针引用派生类对象3,用基类指针引用一个派生类对象,由于派生类对象也是基类的对象,所以这种引用是安全的,但是只能引用基类成员。若试图通过基类指针引用那些只在派生类中才有的成员,编译器会报告语法错误。(解决该问题转载 2014-04-25 23:56:35 · 448 阅读 · 0 评论 -
父类的正常成员函数子类可以使用,并不是继承下来 的,子类是怎么调用父类的函数 : 可能是利用了一种叫函数名联编的方法.没有隐藏的情况下用函数名字来决定调用的函数.
父类的正常成员函数子类可以使用,并不是继承下来 的,子类是怎么调用父类的函数 : 可能是利用了一种叫函数名联编的方法.没有隐藏的情况下用函数名字来决定调用的函数.子类是怎样调用父类的函数的,带汇编解释http://blog.csdn.net/hejinjing_tom_com/article/details/4165462C++中的基类与派生类,看后半部分.原创 2014-05-09 22:24:10 · 1889 阅读 · 0 评论 -
为什么可以不创建对象就调用类的成员函数?
继续问个C++的问题,为什么可以不创建对象就调用类的成员 ... ... [复制链接]发表于 2010-7-3 22:54 | 来自 51CTO网页[只看他] 楼主以下代码是可以正常运行的class Base { public: void print() { prin转载 2014-04-25 23:15:51 · 2843 阅读 · 0 评论 -
类继承的先后顺序 与结构
class A{i};class B : public A{j};class C :virtual public Bk原创 2014-05-16 15:41:59 · 482 阅读 · 0 评论 -
只有虚析构函数没有虚构造函数
因为vbtl在构造函数调用后才建立,因而构造函数不可能成为虚函数.原创 2014-04-28 03:28:56 · 442 阅读 · 0 评论 -
赋值兼容
http://zhidao.baidu.com/link?url=bTtqSsVzbb-mW95_B-8kPGG4OQlUKILgXIKdBvM-3re-sqle6JjA55Sz0jmtsTnaRsxAaGiMbE-SmUMrxPCltK转载 2014-05-13 14:50:34 · 372 阅读 · 0 评论 -
virtual
全部都是指HANDLE(即PVOIDHMODULE 模块的句柄(一般是GetModuleHandle()的返回HINSTANCE 实例的句柄(应用程序实例定义是这样的:typedef HINSTANCE HMODULE;再看看HINSTANCEtypedef HANDLE HINSTANCE;那HANDLE又是什么呢?typedef P原创 2014-04-26 02:48:05 · 641 阅读 · 0 评论 -
结构体类型的变量名并不能直接当作地址使用,这一点和基本数据类型相同。(修改版)
有了前面两篇的基础,下面正式开扒变量名和内存的关系,先看一段大家很熟悉的代码: int i; scanf_s("%d", &i); int i;,在这一句就为i分配了内存(但尚未对这块内存进行初始化),所以可以通过&i直接使用这块内存。赋值就更不用说啦,i = 3;。 变量名i,是为方便编程人员使用,是这块内存的别名,指代到块内存,对编程人员i代表这块内存中存储的值(实转载 2014-04-23 09:56:34 · 6639 阅读 · 0 评论 -
【C++专题】重载(overload)、覆盖(override)、隐藏(hide) 辨析
写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖(override),隐藏(hide)。在早期的C++书籍中,可能翻译的人不熟悉专业用语(也不能怪他们,他们不是搞计算机编程的,他们是英语专业的),常常把重载(overload)和覆盖(override)搞错!我们先来看一些代码及其编译结果。 实例一: #include "stdafx.h"转载 2014-04-23 04:21:37 · 376 阅读 · 0 评论 -
为什么父类指针可以指向子类反之则不行
例如: class a {public: int aa}; class b:public a {public: int bb; } 从内存的来看 如a ---------| |占一个int数据大小--| |----(aa数据)------| |--------- 而b则是 ---------|--------- |占一个int数据大小转载 2013-02-26 19:27:00 · 286 阅读 · 0 评论 -
二维数组地址解疑
多维数组地址的表示方法 设有整型二维数组a[3][4]如下: 0 1 2 3 4 5 6 7 8 9 10 11 设数组a的首地址为1000,各下标变量的首地址及其值如图所示。 在前面曾经介绍过, C语言允许把一个二维数组分解为多个一维数组来处理。因此数组a可分解为三个一维数组,即a[0],a[1],a[2]。每一个一维数组又含有四个元素。例如a[0]数组,转载 2013-02-27 09:41:36 · 534 阅读 · 0 评论 -
链式存储、动态栈 .cpp通过
链式存储、动态栈.cpp通过#include#includetypedef struct node{ int data; struct node *next;}LStack,*LStackp;// 初始化int InitStack(LStack &S,LStackp &top){ LStack *p; p=转载 2013-02-27 21:30:29 · 223 阅读 · 0 评论 -
如何返回局部数组
稍微有些编程经验的朋友都会知道一个函数是无法返回一个局部数组的,至于原因,我想从两个方面进行说明,虽然并不是这两个方面都对其有影响,但我认为在这个问题上我们都该了解的东西:① 函数的返回类型不能为一个数组类型。这个就是说,作为函数返回类型的不能为一个数组,我们要想返回一系列的值,只能用一个指针来代替了,返回指向这一系列值的第一个元素的指针。② 局部数组,具有局部作用域,当函转载 2013-03-11 17:48:12 · 594 阅读 · 0 评论 -
函数的引用返回
函数的引用返回2012-08-03 11:27 2463人阅读 评论(0)收藏 举报汇编c引用是给变量取一个别名,所以引用传递会直接进行变量本身的传递。它的最大好处是可以把别处对变量的改变保留下来,第二好处是它提高了性能:如果函数的返回值是一个引用,那么,如上文所说,它会节约一组构造、赋值和析构过程。但是,函数返回引用往往会带来一些意想不到的错误:比如返回临时变量的转载 2014-05-06 14:39:03 · 444 阅读 · 0 评论 -
虚函数的实现机制
写英文博客是一件不太容易的事情啊••今天总结一下虚函数的实现原理,用英文对我来说难度挺大的,所以就中文啦••O(∩_∩)O~,下面有些语言可能说的有点奇怪,那是因为我自己翻译了一下自己看到C++英文教程,所以可能在语言组织及其理解上有一定的偏差,欢迎大家指正。O(∩_∩)O谢谢 说到虚函数的实现方法,我们就不得不说到动态联编(dynamic binding)和静态联编(sta转载 2014-04-22 14:22:17 · 427 阅读 · 0 评论 -
变量和内存地址
我倒的这篇文章的图挂 了前面讲到“白马、黑马”时,我们说一匹白马和一匹黑马具有共同的数据类型“马”,但二者是相对独立的个体。现在我们以共熟悉的“人”来继续这个话题,最终引出变量与内存地址的关系。张三和李四的数据类型都是“人类”。但张三和李四显然是独立的量:张三吃了两块蛋糕,李四不可能因此就觉和肚子饱了;而李四在下班的路上捡到一个钱包,虽然正好是张三的,两人似乎通过钱包有转载 2014-04-23 05:48:30 · 1186 阅读 · 0 评论 -
虚函数的实现机制
一、虚函数表对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。 在这个表中,主要是一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证真实反应实际的函数。这样,在有虚函数的类的实例中这个表被分配在了这个实例的内存中,所以,当我们用父类的指针来操作一个子类的时候,这张虚函数表就显得由为重转载 2014-04-22 14:22:52 · 246 阅读 · 0 评论 -
this 的体验在类内可省略
complex complex:: operator +(complex c2) //重载函数实现 { return complex(real+c2.real,imag+c2.imag); } complex complex:: operator -(complex c2) //重载函数实现 { return complex(real-c2.real,im原创 2014-05-09 00:46:52 · 545 阅读 · 0 评论 -
C/C++数组名与指针区别深入探索
http://soft.yesky.com/242/2082242.shtml引言 指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进行着C/C++项目的转载 2014-04-23 15:35:31 · 265 阅读 · 0 评论 -
typedef void (*funcptr)();是什么怪胎
今天看C陷阱与缺陷,看到typedef的用法,很奇怪typedef void (*funcptr)();(*(funcptr)0)();funcptr变成了一个类型强制转换符号了。一般用法typedef UINT8 unsigned char,前者用于替代后者而上面的例子根本看不到前后者收藏3转载 2014-04-24 07:58:46 · 733 阅读 · 0 评论 -
好多书的读书笔记
http://dsqiu.iteye.com/category/254423原创 2014-05-30 09:18:11 · 562 阅读 · 0 评论