c++继承方式
公有继承,父类的私有成员不可访问,通过父类的公有函数以及保护函数访问
私有继承,父类成员在派生类中为私有成员等。
初始化顺序先父类,再是派生类,析构刚好相反,
当用父类指针或者引用实现多态时,析构函数要声明成虚函数,不然只会调用父类的析构函数
#include
using namespace std;
class base{
private :float x;
publ...
分类:
编程语言 时间:
2014-05-12 14:16:40
阅读次数:
361
---------------------- IOS开发、Android培训、期待与您交流! ----------------------
一、autorelease
autorelease与release相似,是OC中的一个对象方法。这两个方法都能把对象的引用计数器减1,但是release是一个精确的减1,对对象的操作只能在release之前进行,如果是在之后,就会出现野指针错误;而auto...
分类:
其他好文 时间:
2014-05-12 06:19:57
阅读次数:
354
1:类的本质:类也是一种类,可以叫做类类,类对象,类类型;
2:类和对象在内存中分配问题(注意区分类的对象和类对象的概念) 类对象在内存中只有一份,且只加载一次,类对象中存放了类中定义的方法;
而成员变量和isa指针,存放在了类的对象中;isa指针指向了类对象;如图: 3...
分类:
其他好文 时间:
2014-05-12 02:52:39
阅读次数:
263
在学习linux下编程时,不可避免的要学C了,下面先简单写写C下对C++中的类的模拟。我们要用到的是
struct和函数指针,不懂的同学自行搜索这两个东东,我现在只写我的第一个实现,更多实现方式我会稍后补充。首先先上代码: 1 #include 2
#include 3 4 struct Swen....
分类:
编程语言 时间:
2014-05-12 02:45:26
阅读次数:
279
如果C同时派生了基类A和基类B,那么C的对象的内存是如何分布的呢?基类指针pa和基类指针pb对这块派生类C对象的内存所存储的内容又做和解析?或者说pa和pb指向的地址是否是C对象的首地址呢?
1.继承是按照类为整体进行组织的,且如果有继承虚函数,那么将有多余的一个虚函数表指针。
2.基类指针指向派生类后,同样是按照指针强制转化原则来解析派生类对象的部分区块内容(指针截断)
3.多继承中,各个基类的指针指向派生类后,各自基类指针指向的是派生类中与本身基类相关的派生类区块首地址。...
分类:
其他好文 时间:
2014-05-11 15:10:19
阅读次数:
309
一.如何动态分配多维数组?
1.分配一个指针数组,然后把每个指针初始化为动态分配的行
代码如下:
int **array = (int **)malloc(ROW * sizeof(int*));
int i = 0;
for(i=0; i<ROW; i++){
array[i] = (int *)malloc(COL...
分类:
编程语言 时间:
2014-05-11 15:09:16
阅读次数:
349
一、序言
一个简单的string 容器到底是如何实现的?
本文给出了 String 的三种从易到难的实现,涉及了 reference counting, copy on write 的技术。
二、第一个实现
我们设计的string类里面包含一个char* 的指针, 通过指针的管理,来实现string的基本功能。
废话不多说了,直接上代码:
{CSDN:CODE:...
分类:
其他好文 时间:
2014-05-11 06:58:16
阅读次数:
311
挺有意思的一道题目,属于我之前没有总结到的情况,他在修改数组的时候用到了第三个指针。
如果是两种颜色的话,大家肯定都会做,直接一头一尾两个指针,扫描到不属于自己同类的就互换。这个题有了第三者,怎样来解决这个问题呢?想一下在一个数组中,怎样才能做到线性时间的修改,必须一次性或者常数性的把当前元素替换到他最终应该待的位置,要么复杂就上去了。那当前元素应该呆在那里呢?如果是0的话,应该呆在数组前面都是...
分类:
其他好文 时间:
2014-05-11 06:44:31
阅读次数:
259
看到第六章了:形形色色的内存攻击技术异常处理结构体 S.E.H Structure Exception
HandlerS.E.H 是 Windows 处理异常的重要数据结构。每个 S.E.H 为 8 字节:包含 S.E.H 链表指针和异常处理函数句柄(两个
DWORD)。1. S.E.H 存放在系统...
分类:
其他好文 时间:
2014-05-11 00:57:15
阅读次数:
643
1、数组的下标法:直观且容易理解如:int a[5],i;printf("Input five
numbers:");for(i=0;i<5;i++){scanf("%d",&a[i]);}for(i=0;i<5;i++){
printf("%4d",a[i]);}2、数组名首地址法(指针法):指针...
分类:
其他好文 时间:
2014-05-11 00:35:46
阅读次数:
351