上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 14 下一页
摘要: 头文件Hi_String.h#include#includeusing namespace std;class Hi_String{public: Hi_String(); ~Hi_String(); Hi_String(const Hi_String& mystring); Hi_String(const char* const mystring); int GetLen() const {return itsLen;} const char* GetString() const {return itsString;} /*对于等号可以这样理解s1=... 阅读全文
posted @ 2013-08-11 15:46 z折腾 阅读(708) 评论(0) 推荐(0) 编辑
摘要: 一、例子(1)makefile和src源文件不在同一目录下(2)把.o生成到指定目录下文件结构目录 ----inc //放头文件 ----lib //放所需要的.a或者.so文件 ----src //放置源文件 ----obj //放生成的.o文件 ----Makefile//makefile文件inc有头文件Hi_String.hsrc有源文件Hi_String.cpp#compile and lib parameter #编译参数 #-g表示可以使用gdb调试#-Wall是所有错误和警告在编译的时候都打出来#-O2: 包含-O1的优化并增加了不需要在目标文件大小和执行速度... 阅读全文
posted @ 2013-08-11 15:20 z折腾 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 一、基本概述虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如上图所示类D继承自类B1、B2,而类B1、B2都继承自类A,因此出现如右图所示的局面(非虚基类)。为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继承,而A就成了虚拟基类。最后形成如左图所示的情况。实现的代码如下:class A;//忽略C1和C2class B1:public virtual A;class B2:public virtual A;class D:public B1,public B2;二、为什么要引入虚拟继承虚拟继承在一般的应用中很少用到,所以也往往被忽视,这也主要是因为在C++中,多重继 阅读全文
posted @ 2013-08-06 21:17 z折腾 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误),表示成员函数隐含传入的this指针为const指针,决定了在该成员函数中,任意修改它所在的类的成员的操作都是不允许的(因为隐含了对this指针的const引用) 阅读全文
posted @ 2013-08-06 20:38 z折腾 阅读(730) 评论(0) 推荐(0) 编辑
摘要: 简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而采用不同的策略。下面来看一段简单的代码 通过class A和class B的print()这个接口,可以看出这两个class因个体的差异而采用了不同的策略,输出的结果也是我们预料中的,分别是This is A和This is B。但这是否真正做到了多态性呢?No,多态还有个关键之处就是一切用指向基类的指针或引用来操作对象。那现在就把main()处的代码改一改。 运... 阅读全文
posted @ 2013-08-06 20:35 z折腾 阅读(475) 评论(0) 推荐(0) 编辑
摘要: A:操作符重载实现为类成员函数 重载的操作符在类体中被声明,声明方式如同普通成员函数一样,只不过他的名字包含关键字operator,以及紧跟其后的一个c++预定义的操作符。可以用如下的方式来声明一个预定义的==操作符:class person{private: int age; public: person(int a){ this->age=a; } inline bool operator == (const person &ps) const;};//实现方式如下:inline bool person::operator==(const pers... 阅读全文
posted @ 2013-07-31 22:12 z折腾 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 一、类的构造函数一般是public的,但是也可以是private的。构造函数为私有的类有这样的特点:不能实例化:因为实例化时类外部无法访问其内部的私有的构造函数;不能继承:同;所以它可以控制用户实例化一个类对象。实例化的这样的类的方法是在类中定义一个static方法或者一个友元,专门负责实例化工作。Java中的工厂方法常常采用这点。二、 我们知道,当我们在程序中声明一个对象时,编译器为调用构造函数(如果有的话),而这个调用将通常是外部的,也就是说它不属于class对象本身的调用,假如构造函数是私有的,由于在class外部不允许访问私有成员,所以这将导致编译出错。 你于是说:“哈哈。”我们制造. 阅读全文
posted @ 2013-07-31 21:00 z折腾 阅读(2745) 评论(0) 推荐(0) 编辑
摘要: 一、前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家一个清晰的剖析。 二、虚函数表 对C++了解的人都应该知道虚函数(Virtual Function... 阅读全文
posted @ 2013-07-27 05:38 z折腾 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 网桥(Bridge)像一个聪明的中继器。中继器从一个网络电缆里接收信号, 放大它们,将其送入下一个电缆。相比较而言,网桥对从关卡上传下来的信息更敏锐一些。网桥是一种对帧进行转发的技术,根据MAC分区块,可隔离碰撞。网桥将网络的多个网段在数据链路层连接起来。 网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。网络1 和网络2 通过网桥连接后,网桥接收网络1 发送的数据包,检查数据包中的地址,如果地址属于网络1 ,它就将其放弃,相反,如果是网络2 的地址,它就继续发送给网络2.这样可利用网桥隔离信息... 阅读全文
posted @ 2013-07-20 20:39 z折腾 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 以太网(Ethernet)一、定义:当前广泛使用,采用共享总线型传输媒体方式的局域网。以太网最早由Xerox(施乐)公司创建,于1980年DEC、lntel和Xerox三家公司联合开发成为一个标准。以太网是应用最为广泛的局域网,包括标准的以太网(10Mbit/s)、快速以太网(100Mbit/s)和10G(10Gbit/s)以太网。它们都符合IEEE802.3。IEEE802.3标准IEEE802.3规定了包括物理层的连线、电信号和介质访问层协议的内容。以太网是当前应用最普遍的局域网技术,它很大程度上取代了其他局域网标准。如令牌环、FDDI和ARCNET。历经100M以太网在上世纪末的飞速发展 阅读全文
posted @ 2013-07-20 20:31 z折腾 阅读(549) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 14 下一页