Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

C++ 虚函数与纯虚函数

C++ 虚函数与纯虚函数

今天讲讲C++中,虚函数与纯虚函数的用法和区别。虚函数的提出在我上一篇关于C++的文章中已经提过(见http://www.linuxidc.com/Linux/2013-04/83407.htm),是为了解决多继承的二义性而提出的,今天不再赘述;而纯虚函数是一种特殊的函数,它的作用是在基类中不给出有意义的实现,而把说明成纯虚函数,它的实现留给该基类的派生类去做。包含纯虚函数的类就是抽象类,抽象类不能被实例化,但是可以定义指向抽象类数据的指针变量,当派生类称...
C++虚基类解决二义性问题及执行结果分析

C++虚基类解决二义性问题及执行结果分析

由于C++中允许多继承,所以会出现二义性问题:在多个派生类中,定义了相同名字的方法,这时再在main函数里面通过基类调用该方法时,编译器就犯难了。因为它不知道你到底是想用哪一个派生类里面的方法。那么,现在又有了一个问题:假如有两个派生类DerivedA和DerivedB,它们的同名方法一个有参数,一个没有参数,是不是不会出现二义性问题了?或者说,这两个派生类方法的一个是private,一个是public,是不是就可以防止二义性了呢?答案是否定的。二义性的检...
Socket编程获取服务器时间

Socket编程获取服务器时间

客户端向服务器端发送请求,服务器收到请求做相应的处理,将处理结果传回客户端。下面采用TCP协议实现服务器和客户端之间的连接。1.客户端约定双方的传输协议(UDP或者TCP),根据传输协议创建socket;服务器的IP地址和端口号;连接服务器;获取服务器传递回来的数据。#include<string.h>#include <sys/types.h>#include <sys/socket.h>#include <sy...
标准C中strtok函数分割字符串

标准C中strtok函数分割字符串

标准C中可以用strtok函数来分割字符串,strtok函数的使用与其他大部分函数的使用方法不同。函数为:char *strtok(char *strings,const char *tokseps);其中strings为要分割的字符串,tokseps是用来分割的字符。用以下的例子进行分析:第6行声明字符串为字符型数组,但当声明为指针型(char *strings = "hello,world! welcome to the earth")时,编译能够通过...
Android 4.2.1短信接收以及应用接收顺序

Android 4.2.1短信接收以及应用接收顺序

先说下Android上短信接收的流程,直接从RILJ开始讲。processUnsolicited方法接收到新短信消息后,BaseCommands中注册的事件会通过消息机制执行。RILJ中执行的是如下代码:mGsmSmsRegistrant.notifyRegistrant(new AsyncResult(null, sms, null));所以我们只要看看哪些地方注册了mGsmSmsRegistrant就可以找到,处理接收到新短信的地方。只有GsmSMSD...
Android 4.2.1短信SMS常用接口整理

Android 4.2.1短信SMS常用接口整理

Android上短信功能基本很稳定了,一般很少维护,所以感觉总是很陌生。%>_<% 这里总结下4.2.1上原生Mms用到的短信接口,以便在此基础上记忆。android的framework对上层短信提供的接口基本都在SmsManager和SmsMessage。个人总结前者主要提供了发送短信及其周边功能,后者提供了计算长度解析短信编码等针对短信内容的功能。先说说SmsManager这个类:sendTextMessage()根据后面的调用,可以知道这...
Android入门开发之 Handler使用

Android入门开发之 Handler使用

Android提供了一个异步的消息回调机制Handler, 它负责发送消息和处理线程消息队列中的消息及runnable对象Handler实例都是与一个线程和该线程的消息队列一起使用,一旦创建了一个新的handler实例,系统就把该实例与一个线程和该线程的消息队列捆绑起来,这将可以发送消息和runnable对象给该消息队列,并在消息队列出口处处理它们。Handler默认使用当前的线程RunLoop, 但是也可以通过它的构造函数来指定某个线程的runloop,...
Android入门开发之SAX

Android入门开发之SAX

一. SAX简介SAX, Simple API for XML, 是一个解析速度快并且占用内存少的XML解析器,适合于移动平台。 它同时既是一种接口,也是指一个软件包。 作为接口,SAX是事件驱动型XML解析的一个标准接口, 也就是说它不需要解析完整个文档,采用相应的事件触发来进行回调处理。二 . SAX的原理SAX的工作原理,简单说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束,元素(element)开始与结束,文档(document...
Android中生成PDF

Android中生成PDF

iText 是java和C#中的一个处理PDF的开源类库,国外的大牛已经把它移植到Android上了,但是直接拿来用还是需要花费一点功夫,下面就用一个简单的demo来测试一下。iText项目地址:https://code.google.com/p/droidtext/首先用过svn把代码check下来。得到三个文件夹,droidText是一个android的库工程,droidTextTest是测试工程。在eclipse中导入droidText项目。这是个l...
打印单词长度的直方图--C语言的多种实现

打印单词长度的直方图--C语言的多种实现

题目要求该题摘自Kernighan的《C程序设计语言》第17页练习1-13。 下载见 http://www.linuxidc.com/Linux/2012-05/60076.htm编写一个程序,打印输入中单词长度的的直方图。水平方向的直方图比较容易绘制,垂直方向的直方图则要困难些。经过这本C语言圣经第一章的调教,发现getchar()原来那么强大。多种实现方案一:声明state变量,用来记录程序当前是否正位于一个单词之中,这样便于理解。# include ...
C语言的静态变量声明static

C语言的静态变量声明static

static声明外部变量static的作用域限定为被编译源文件的剩余部分,不会和同一程序中的其他文件中的相同的名字相冲突。static声明函数除了对该函数声明所在的文件可见外,其他文件都无法访问。static声明内部变量该变量只能在特定函数中使用,但一直占据存储空间。变量的值不会因函数的结束而变化,static声明的变量可以起到外部变量的一部分作用。测试代码如下,返回值为16。# include <stdio.h>int add(int a){...
移植Wireless Extension

移植Wireless Extension

1.认识wireless extensionWireless Extension (WE)是一组通用的API,能在用户空间对通用Wireless LANs进行配置和统计。它的好处在于仅通过一组单一的工具就能对各种各样的Wireless LANs进行管理,不过它们是什么类型,只要其驱动支持Wireless Extension就行;另一个好处就是不用重启驱动或Linux就能改变这些参数。Wireless tools for Linux是一个Linux命令行工具...
initramfs文件系统制作和移植

initramfs文件系统制作和移植

1.1. Initramfs的制作和移植1.1.1. 对根文件系统进行修改根文件系统制作可以参考这篇文档由于制作initramfs文件系统启动时会在根文件系统中执行第一个init程序,它对uboot传过来的参数init=/linuxrc不予理睬,所以需要在制作的根文件系统里的根目录加入init程序,否则无法启动。init程序和linuxrc程序一样都是符号链接文件,它们都是指向/bin/busybox程序。[lingyun@localhost rootfs...
<< 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 >>