zoukankan      html  css  js  c++  java
  • Map中放置类指针并实现调用

    工作中使用到多进程通信,利用到了map以及multimap来进行实现。

    需要做一个简单测试例子,直接上代码。

    /*
     *  main.cpp
     *  Created on: Oct 28, 2013
     *      Author: Sam.Nie
     */
    #include <stdio.h>
    #include <stdlib.h>
    #include <string>
    #include <map>
    #include <iostream>
    using namespace std;
    
    class AB
    {
    public:
        virtual void bar() = 0;
        virtual ~AB() {};
    };
    
    class A : public AB
    {
        void bar() { cout << "A
    "; }
    };
    
    class B : public AB
    {
        void bar() { cout << "B
    "; }
    };
    
    int main()
    {
        printf("Hello, Sam Test Here.
    ");
    
        //map
        map<int, AB*> mapAB;
        mapAB.insert(pair<int, AB*>(1, new A));
        mapAB.insert(pair<int, AB*>(2, new B));
    
        map<int, AB*>::iterator it;
        for(it = mapAB.begin(); it != mapAB.end(); it++)
        {
            AB *pAB = it->second;
            pAB->bar();
            delete pAB;
        }
    
        //multimap
        multimap<int, AB*> multimapAB;
        multimapAB.insert(pair<int, AB*>(1, new A));
        multimapAB.insert(pair<int, AB*>(1, new B));
    
        multimap<int, AB*>::iterator multiit;
        for(multiit = multimapAB.begin(); multiit != multimapAB.end(); multiit++)
        {
            AB *pAB1 = multiit->second;
            pAB1->bar();
            delete pAB1;
        }
        return 0;
    }
    View Code
  • 相关阅读:
    Scramble String
    Burst Balloons
    Coins in a Line III
    maven初识
    Java类加载器初识
    HTTP协议
    Map和Set的联系
    Thread类与Runnable接口
    Throwable和Exception的区别
    SpringMVC的@ResponseBody注解简介
  • 原文地址:https://www.cnblogs.com/winnxm/p/3393377.html
Copyright © 2011-2022 走看看