Code Search for Developers
 
 
  

oop.cc from AlphaMail at Krugle


Show oop.cc syntax highlighted

#include <map>
#include <string>
#include <iostream>

using namespace std;

class A
{
   public:
      A() {
         if(!map_initialized) {
            cmd["a"] = &A::a;
            cmd["b"] = &A::b;
            cmd["c"] = &A::c;
         }
      }
      virtual void a() { cout << "Method A::a called." << endl; }
      virtual void b() { cout << "Method A::b called." << endl; }
      virtual void c() { cout << "Method A::c called." << endl; }
      void exec(string c) {
         (this->*cmd[c])();
      }
   private:
      static map<string, void (A::*)()> cmd;
      static bool map_initialized;
};

class B : public A
{
   public:
      void a() { cout << "Method B::a called." << endl; }
};

bool A::map_initialized = false;
map<string, void (A::*)()> A::cmd;

int main()
{
   A t;
   A *p = new B();

   t.exec("a");
   t.exec("b");
   t.exec("c");

   p->exec("a");

   return 0;
}





See more files for this project here

AlphaMail

AlphaMail is an accelerated web mail interface with a C++ middleware layer that is more effective than an IMAP proxy which is a highly scalable (10k+ users). The interface includes modern features, Section 508 compliance, and universal browser support.

Project homepage: http://sourceforge.net/projects/alphamail
Programming language(s): C++,Java,JavaScript,Perl
License: other

  jcorba/
    IMAPClient.java
    IMAPServer.java
    imap.idl
  Makefile
  cache_entry.cc
  client_socket.cc
  date_time.cc
  imaps_test.cc
  map_test.cc
  mkdir.cc
  mm.cc
  oop.cc
  parse_response.cc
  regex1.cc
  request_processor.cc
  server_socket.cc
  split.cc
  ssl.c
  ssl_client.cpp