上一页 1 2 3 4 5 6 7 8 9 10 ··· 18 下一页

2012年6月19日

摘要: C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家 一个清晰的剖析。当然,相同的文章在网上也出现过一些了,但我总感觉这些文章不是很容易阅读,大段大段的代码,没有图片,没 阅读全文
posted @ 2012-06-19 11:39 很多不懂呀。。 阅读(179) 评论(0) 推荐(0) 编辑

2012年6月18日

摘要: 如果新装的系统,运行一些很正常的诸如:shutdown,fdisk的命令时,悍然提示:bash:command not found。那么首先就要考虑root 的$PATH里是否已经包含了这些环境变量。主要是这四个:/bin ,/usr/bin,/sbin,/usr/sbin。四个主要存放的东东:./bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。 /usr/bin: 主要放置一些应用软体工具的必备执行档例如c++、g++、gcc、chdrv、dif 阅读全文
posted @ 2012-06-18 14:44 很多不懂呀。。 阅读(1347) 评论(0) 推荐(0) 编辑

2012年6月15日

摘要: mkdir命令: 创建目录介绍:该命令创建指定的目录名,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录语法:mkdir [-m] [-p] 目录名选项介绍: -m: 对新建目录设置存取权限,也可以用chmod命令设置; -p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;执行范例:01 $ mkdir DIRA02 $ ls03 DIRA04 $ mkdir -m 775 DIRB05 $ ls -l06 drwxr-xr-x 2 xxxx users 4096 ... 阅读全文
posted @ 2012-06-15 09:47 很多不懂呀。。 阅读(205) 评论(0) 推荐(0) 编辑

2012年6月11日

摘要: 概述:虚函数的目的是实现运行时多态,程序在运行时才知道要调用那些函数。这属于泛型技术(包括模板、RTTI、虚函数)。使用:用于父类型指针指向子类的对象时。虚函数表V-table类中成员函数在内存中不占空间,这个比较好理解。例如一个汽车类,有成员轮子、方向盘,有成员方法 跑(),我们制造出一辆汽车的时候只有轮子、方向盘占用空间,而汽车会跑并不会占用内存的。假如声明一个虚函数,汽车带车斗(),具体带什么车斗呢,不晓得,让子类去实现。大卡车类有个7吨位的车斗,小货车类有个2吨位的车斗,三轮车类有个小车斗。父类汽车类中是什么样子的呢,父类中声明虚函数,就是拿一个小本本(指针),记下来所有的虚函数。当然 阅读全文
posted @ 2012-06-11 16:21 很多不懂呀。。 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 使用设计模式来提高程序库的重复利用性是大型程序项目开发必须的。但是在“四人帮”的设计模式概述中提到了23种标准设计模式,伍但难以记住,而且有些设计模式更多的适用于应用程序开发,对游戏项目引擎设计并没有很多的利用价值。根据经验,精挑细选后,笃志在这里记录一些自认为有利用价值的设计模式,以便之后自己设计时使用。一:观察者Observer观察者的设计意图和作用是: 它将对象与对象之间创建一种依赖关系,当其中一个对象发生变化时,它会将这个变化通知给与其创建关系的对象中,实现自动化的通知更新。游戏中观察者的适用环境有: 1:UI控件管理类。当我们的GUI控件都使用观察者模式后,那么用户的任何界面相关操作 阅读全文
posted @ 2012-06-11 16:05 很多不懂呀。。 阅读(2805) 评论(0) 推荐(0) 编辑
摘要: typedef 与 #define的区别:不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针,// 和一个字符 阅读全文
posted @ 2012-06-11 10:34 很多不懂呀。。 阅读(304) 评论(0) 推荐(0) 编辑

2012年6月8日

摘要: 本次应用:定义基类成员函数指针数组,并且使用基类成员函数指针初始化该数组,然而,在调用该数组时,使用指向子类对象的父类指针调用,此时,调用的是子类对象的成员函数。#include <iostream>//基类class base{public:virtual void print1(const char* str){std::cout<<"base class print1 func:"<<str<<std::endl;}virtual void print2(const char* str){std::cout<< 阅读全文
posted @ 2012-06-08 17:49 很多不懂呀。。 阅读(300) 评论(0) 推荐(0) 编辑
摘要: int *p[4]; //指针数组。 是个有4个元素的数组, 每个元素的是指向整型的指针。(数组的每个元素都是指针)int (*p)[4]; //数组指针。 它是一个指针,指向有4个整型元素的数组。(一个指针指向有4个整型元素的数组)int *func(void); //指针函数。 无参函数, 返回整型指针。 (函数的返回值为int*) int (*func)(void); //表示函数指针,可以指向无参, 且返回值为整型指针的函数。 (函数的返回值为int)右左规则:因为C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既着... 阅读全文
posted @ 2012-06-08 17:23 很多不懂呀。。 阅读(6761) 评论(0) 推荐(5) 编辑
摘要: C++中,成员指针是最为复杂的语法结构。但在事件驱动和多线程应用中被广泛用于调用回叫函数。在多线程应用中,每个线程都通过指向成员函数的指针来调用该函数。在这样的应用中,如果不用成员指针,编程是非常困难的。 刚遇到这种语法时也许会让你止步不前。但你会发现,使用恰当的类型定义之后,复杂的语法是可以简化的。本文引导你了解成员函数指针的声明,赋值和调用回叫函数。 成员函数指针的声明 一个成员函数指针包括成员函数的返回类型,后随::操作符类名,指针名和函数的参数。初看上去,语法有点复杂。其实可以把它理解为一个指向原函数的指针,格式是:函数返回类型,类名,::操作符,指针星号,指针名,函数参数。 ... 阅读全文
posted @ 2012-06-08 15:46 很多不懂呀。。 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 函数指针 一个函数在编译时被分配一个入口地址,将这个入口地址称为函数的指针,可 以用一个指针变量指向该函数指针,然后通过该变量来调用函数。有关说明: 1、函数指针的声明格式: 函数返回值类型(*指针变量名)(参数类型列表) 或者是: typedef 函数返回值类型 (*指针变量名)(参数类型列表)2、一个函数指针只能指向一种类型的函数,即具有相同的返回值和相同的参 数的函数 3、关于函数指针的加减运算没有意义 函数指针数组定义: 函数定义:void fun1(void *p);void fun2(void *p);void fun3(vo... 阅读全文
posted @ 2012-06-08 14:09 很多不懂呀。。 阅读(1019) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 18 下一页

导航