导航

上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 37 下一页

2012年4月16日

摘要: 在http://www.grex.org/上注册一个帐号,或者直接在linux终端里输入:ssh newuser@grex.org 然后根据提示操作就OK了。然后用ssh登录就可以了。 阅读全文

posted @ 2012-04-16 22:12 网名还没想好 阅读(241) 评论(0) 推荐(0) 编辑

摘要: 为什么要了解虚函数表了解虚函数表对理解C++实现多态的机制会有更深的了解,对对象的内存布局会有更好的认识。如要转载请注明作者和本url验证虚函数表的存在(C++中的struct和class实际上是一样的)C++中当一个类中存在virtual函数(虚函数)或者它的父类中存在虚函数,那么编译器就会为这个类生成虚函数表(virtual table),下面我用代码来验证这个事情。首先写一个classclass A{};cout<<sizeof(A)<<endl;输出结果1,就是说这个类占1个字节(具体为什么要占1个字节我也不太清楚,应该就这么设计的吧,有高手请告诉我为什么)。下 阅读全文

posted @ 2012-04-16 11:47 网名还没想好 阅读(348) 评论(0) 推荐(0) 编辑

摘要: 虚基类 在说明其作用前先看一段代码 class A { public: int iValue; }; class B:public A { public: void bPrintf(){cout<<"This is class B"<<endl;}; }; class C:public A { public: void cPrintf(){cout<<"This is class C"<<endl;}; }; class D:public B,public C { public: void dPrintf( 阅读全文

posted @ 2012-04-16 11:36 网名还没想好 阅读(265) 评论(0) 推荐(0) 编辑

摘要: const给人的第一印象就是定义常量。(1)const用于定义常量。 例如:const int N = 100;const int M = 200; 这样程序中只要用到 N、M 就分别代表为整型100、200,N、M 为一常量,在程序中不可改变。 但有人说他编程时从来不用const定义常量。我相信。但他是不懂得真正的编程艺术,用const定义常量不仅能方便我们编程而且能提高程序的清晰性。你是愿意看到程序中100、200 满天飞,还是愿意只看到简单清晰的N、M。相信有没有好处你慢慢体会。 还有人说他不用const定义常量,他用#define宏定义常量。可以。但不知道你有没有发现有时#define 阅读全文

posted @ 2012-04-16 11:23 网名还没想好 阅读(1135) 评论(0) 推荐(0) 编辑

摘要: 对比于C 语言的函数,C++增加了重载(overloaded)、内联(inline)、const 和virtual四种新机制。其中重载和内联机制既可用于全局函数也可用于类的成员函数,const 与virtual 机制仅用于类的成员函数。1.重载(overloaded)重载的理由:1:在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,即函数重载。这样便于记忆,提高了函数的易用性2:类的构造函数需要重载机制。因为C++规定构造函数与类同名构,造函数只能有一个名字。如果想用几种不同的方法创建对象该怎么办?别无选择,只能用重载机制来实现。所以类可以有多个同名的构造函数。重载的实现:它们是 阅读全文

posted @ 2012-04-16 11:19 网名还没想好 阅读(369) 评论(0) 推荐(1) 编辑

摘要: 多态性给我们带来了好处:多态使得我们可以通过基类的引用或指针来指明一个对象(包含其派生类的对象),当调用函数时可以自动判断调用的是哪个对象的函数。一个函数说明为虚函数,表明在继承的类中重载这个函数时,当调用这个函数时应当查看以确定调用哪个对象的这个函数。普通函数的处理:一个特定的函数都会映射到特定的代码,无论时编译阶段还是连接阶段,编译器都能计算出这个函数的地址,调用即可。虚函数的处理:被调用的函数不仅依据调用的特定函数,还依据调用的对象的种类。通常是由虚函数表(vtable)来实现的。虚函数表的结构:它是一个函数指针表,每一个表项都指向一个函数。任何一个包含至少一个虚函数的类都会有这样一张表 阅读全文

posted @ 2012-04-16 11:13 网名还没想好 阅读(905) 评论(0) 推荐(0) 编辑

2012年4月15日

摘要: 作者:gzshun. 原创作品,转载请标明出处! 来源:http://blog.csdn.net/gzshun 在继承过程中,从基类派生出派生类,可能出现重名的成员,包括数据成员或成员函数,这些属于作用域方面的内容。 一、基类的引用或指针访问派生类 基类的引用或指针只能访问派生类中属于基类的部分成员,不能访问派生类的部分,否则就会编译出错。[cpp] view plaincopy#include<iostream>usingnamespacestd;classCBase{public:voidBasePrint()const{cout<<"调用基类的成员函数& 阅读全文

posted @ 2012-04-15 15:18 网名还没想好 阅读(301) 评论(0) 推荐(0) 编辑

摘要: ping 127.0.0.1和ping本机的过程是不一样的ip输出函数先检查地址是不是环回地址: 1. 如果是环回地址,直接交给环回驱动程序处理,返回ip输入函数 2. 如果不是环回地址,检查是不是广播地址或者多播地址 3. 如果不是广播或者多播地址,才检查是不是本机地址,如果是本机地址,则交给环回驱动程序处理,环回驱动程序返回给ip输入函数。 阅读全文

posted @ 2012-04-15 09:35 网名还没想好 阅读(396) 评论(0) 推荐(0) 编辑

2012年4月14日

摘要: 一,TCP/IP使用32位二进制地址作为通用的机器标识符,称为IP地址,标识符可分成两部分:前缀标识计算机所连接到的网络,其余部分为该网络上的计算机提供了一个独特的标识符。最初的IP编址方法称为分类方法,每个前缀被分配为三个基本类之一。前导的位定义了所属的类,各类的容量不同。分类方法提供了127个连接上百万台主机的网络,提供了几千个连接上千台主机的网络,还提供了主机数量最多为254的上百万个网络。为了易于理解,地址按点分十进制表示法读写,4个八位组的值写成十进制数,每个数之间用小数点分开。 二,通过广播ARP请求,一台机器可使用ARP找到另一台机器的硬件地址。这个请求中包含一台主机的IP... 阅读全文

posted @ 2012-04-14 11:07 网名还没想好 阅读(1402) 评论(0) 推荐(1) 编辑

2012年4月13日

摘要: 编译成.o文件时没错,链接这几个.o文件时,报错inet_pton testserver.o (symbol belongs to implicit dependency /usr/lib/libnsl.so.1)inet_ntoa fun.o (symbol belongs to implicit dependency /usr/lib/libnsl.so.1)原因是它不认识里面的函数inet_pton和inet_ntoa,需要加入相应的静态库,这个库它已经提示你了,symbol belongs to implicit dependency /usr/lib/libnsl.so.1,所以编译 阅读全文

posted @ 2012-04-13 22:38 网名还没想好 阅读(795) 评论(0) 推荐(0) 编辑

上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 37 下一页