当前位置:  编程技术>综合
本页文章导读:
    ▪悲剧,具体把多态用在数组上      有码有真相: #include <iostream> #include <map> #include <string> #include <memory> using namespace std; class AbstractEvent { public: virtual char* Event(char* apMsg)=0; }; class AbstractMsgHandler { public: virtual v.........
    ▪Android必问的面试题       Android项目的开发流程。Activity的启动模式有哪些,在项目中是如何应用的。Button,ImageButton,ImageView的区别是什么,平时项目中是如何使用的。如何管理Android的内存(工具),说一说在项目中.........
    ▪一个sql语句的基本用法      //xp创建指令 exec xp_cmdshell 'mkdir D:\\DB' //如果系统存在此对象的数据库 删除 if exists(select * from sysdatabases where name = 'StuDB')   drop database StuDB //创建数据库StuDB //数据库名字,文件路径,文件大.........

[1]悲剧,具体把多态用在数组上
    来源: 互联网  发布时间: 2013-11-10

有码有真相:

#include <iostream>
#include <map>
#include <string>
#include <memory>
using namespace std;


class AbstractEvent
{
public:
	virtual char* Event(char* apMsg)=0;
};
class AbstractMsgHandler
{
public:
	virtual void Handler(char* apAnswer)=0;
};
class AbstractEventPool
{
public:
	virtual void Register(AbstractEvent* apAbstractEvent)=0;
};
class MsgSender
{
public:
	MsgSender(AbstractEvent* apSubscribeEvent,AbstractMsgHandler* apMsgHandler):
	  m_pSubscribeEvent(apSubscribeEvent),m_pMsgHandler(apMsgHandler)
	  {

	  }
	void SendMsg(char* apMsg)
	{
		char* lpAnswer = m_pSubscribeEvent->Event(apMsg);
		m_pMsgHandler->Handler(lpAnswer);
	}
private:
	AbstractEvent* m_pSubscribeEvent;
	AbstractMsgHandler* m_pMsgHandler;
};
class ConcreteEvent:public AbstractEvent
{
public:
	char* Event(char* apMsg)
	{
		return apMsg;
	}
};

typedef map<int,AbstractEvent*> EventMap;

class ConcreteEventPool:public AbstractEventPool
{
public:
	void Register(const int& aEventEnum,AbstractEvent* apAbstractEvent)
	{
		EventMap::iterator lIter = m_EventMap.find(aEventEnum);
		if (m_EventMap.end() != lIter)
		{
			m_EventMap.insert(std::make_pair(aEventEnum,apAbstractEvent));
		}
	}
private:
	EventMap m_EventMap;
};


class ConcreteMsgHandler:public AbstractMsgHandler
{
	void Handler(char* apAnswer)
	{
		std::cout << apAnswer << std::endl;
	}
};
int main()
{
	std::auto_ptr<AbstractEvent> lpAbstractEvent(new ConcreteEvent());
	std::auto_ptr<AbstractMsgHandler> lpAbstractMsgHandler(new ConcreteMsgHandler());
	std::auto_ptr<MsgSender> lpMsgSender(new MsgSender(lpAbstractEvent.get(),lpAbstractMsgHandler.get()));
	char* lpMsg = "Hello World!";
	lpMsgSender->SendMsg(lpMsg);
	return 0;
}

oh,no,我怎么相处这样的代码。。。。。。

作者:boyhailong 发表于2013-1-12 23:11:30 原文链接
阅读:0 评论:0 查看评论

    
[2]Android必问的面试题
    来源: 互联网  发布时间: 2013-11-10

  • Android项目的开发流程。
  • Activity的启动模式有哪些,在项目中是如何应用的。
  • Button,ImageButton,ImageView的区别是什么,平时项目中是如何使用的。
  • 如何管理Android的内存(工具),说一说在项目中的一些内存优化方案。
  • 是否做过消息推送方面的内容,简单叙述一下。(可选)
  • 是否做过自认为不错的动画效果,简单叙述一下。(可选)

  • 作者:zapzqc 发表于2013-1-12 23:11:04 原文链接
    阅读:0 评论:0 查看评论

        
    [3]一个sql语句的基本用法
        来源: 互联网  发布时间: 2013-11-10
    //xp创建指令
    exec xp_cmdshell 'mkdir D:\\DB'
    //如果系统存在此对象的数据库 删除
    if exists(select * from sysdatabases where name = 'StuDB')
      drop database StuDB

    //创建数据库StuDB
    //数据库名字,文件路径,文件大小,文件最大空间,增长速度
    create database StuDB
    on
    (
      name = 'StuDB_main_db',
      filename = 'D:\DB\StuDB_main.mdf',
      size = 10mb,
      maxsize = 20mb,
      filegrowth = 10%
    )
    log on
    (
      name = 'StuDB_log_db',
      filename = 'D:\DB\StuDB_log.ldf',
      size = 10mb,
      maxsize = 20mb,
      filegrowth = 10%
    )


    use StuDB  
    //如果系统存在此对象的表 删除
    if exists(select * from sysobjects where name = 'student')
       drop table student
    create table student
    (
      sid int identity(10001001,1) primary key,
      sname varchar(40),
      age int,
      * varchar(20)
    )

    select * from student
    //插入数据
    insert into student values('张三',22,'男')


    delete from student where sid = 10001005


    insert into student values(10001006,'李四',22,'男')
    insert into student values(10001006,'李四',22,'男')
    set identity_insert student on
        
    insert into student(sid,sname,age,*) values(10001006,'李四',22,'男')
    insert into student(sid,sname,age,*) values(10001010,'李四',22,'男')
    insert into student(sid,sname,age,*) values(10001011,'李四',22,'男')
    //删除
    delete from student where sid = 10001005
    delete from student where sid = 10001006
    delete from student where sid = 10001010
    delete from student where sid = 10001011
    delete from student where sid = 10001007
    select * from student
    //数据库基本用法
    作者:onlyoneggp 发表于2013-1-12 23:08:19 原文链接
    阅读:0 评论:0 查看评论

        
    最新技术文章:
    ▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
    java开源软件 iis7站长之家
    ▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
    ▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
    ▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
    ▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
    ▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
    ▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
    ▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
    ▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
    ▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
    ▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
    ▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
    ▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
    ▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
    ▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
    ▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
    ▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
    ▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
    ▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
    ▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
    ▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
    ▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
    ▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
    ▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
    ▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
    ▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
    ▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
    ▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
    ▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3