Éè¼ÆÄ£Ê½Ñ§Ï°-----³éÏ󹤳§Ä£Ê½
5058 µã»÷¡¤0 »ØÌû
![]() | ![]() | |
![]() | GOOD£º¶¨ÒåÁËÒ»¸ö´´½¨Ò»ÏµÁÐÏà¹Ø»òÏ໥ÒÀÀµµÄ½Ó¿Ú£¬¶øÎÞÐèÖ¸¶¨ËüÃǵľßÌåÀà¡£ ÓÃÓÚ½»»»²úƷϵÁУ¬ÈçACCESS->SQLSERVER£» ²úÆ·µÄ¾ßÌåÀàÃû±»¾ßÌ幤³§µÄʵÏÖ·ÖÀë [html] #include <string> #include <iostream> #include <vector> using namespace std; //Óû§³éÏó½Ó¿Ú class IUser { public : virtual void GetUser()=0; virtual void InsertUser()=0; }; //²¿ÃųéÏó½Ó¿Ú class IDepartment { public: virtual void GetDepartment()=0; virtual void InsertDepartment()=0; }; //ACCESSÓû§ class CAccessUser : public IUser { public: virtual void GetUser() { cout<<"Access GetUser"<<endl; } virtual void InsertUser() { cout<<"Access InsertUser"<<endl; } }; //ACCESS²¿ÃÅ class CAccessDepartment : public IDepartment { public: virtual void GetDepartment() { cout<<"Access GetDepartment"<<endl; } virtual void InsertDepartment() { cout<<"Access InsertDepartment"<<endl; } }; //SQLÓû§ class CSqlUser : public IUser { public: virtual void GetUser() { cout<<"Sql User"<<endl; } virtual void InsertUser() { cout<<"Sql User"<<endl; } }; //SQL²¿ÃÅÀà class CSqlDepartment: public IDepartment { public: virtual void GetDepartment() { cout<<"sql getDepartment"<<endl; } virtual void InsertDepartment() { cout<<"sql insertdepartment"<<endl; } }; //³éÏ󹤳§ class IFactory { public: virtual IUser* CreateUser()=0; virtual IDepartment* CreateDepartment()=0; }; //ACCESS¹¤³§ class AccessFactory : public IFactory { public: virtual IUser* CreateUser() { return new CAccessUser(); } virtual IDepartment* CreateDepartment() { return new CAccessDepartment(); } }; //SQL¹¤³§ class SqlFactory : public IFactory { public: virtual IUser* CreateUser() { return new CSqlUser(); } virtual IDepartment* CreateDepartment() { return new CSqlDepartment(); } }; //¿Í»§¶Ë£º int main() { IFactory* factory= new SqlFactory(); IUser* user=factory->CreateUser(); IDepartment* depart = factory->CreateDepartment(); user->GetUser(); depart->GetDepartment(); return 0; } | |
![]() | ![]() |