当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

 ·excel中的字体如何编程设置    »显示摘要«
    摘要: excel中的字体如何编程设置??? ......
 ·请高手帮忙(紧),在线等待    »显示摘要«
    摘要: 我用vfp6.0制作了一个含一个数据库(二维表形式)的表单,想通过命令按钮实现对数据库的操作,现在碰到的问题是:增加记录后,按下“保存”按钮,想防止新增加的记录的内容(产品代号或产品名称)与原有记录重复。请问我该如何编写程序?请速帮忙,谢谢! ......


redefinition的问题如何解决

我使用import导入一个ocx文件,它生成文件中包含IServiceProvider的定义,而在程序中调用库文件中也有IServiceProvider的定义,这样就出现了重定义问题,那个我都不能改呀,那怎么办?

NO.1   作者: free_card

、用MFC   AppWizard(EXE)新建一单文档工程MyNamespace,  
  所有设置取默认值即可。  
      2、然后新建两个头文件,文件名分别为class1.h和class2.h,  
  注意在这两个文件中有3个同名的类CMyClass。  
      3、编写文件class1.h,其内容为:  
  //   class1.h  
   
  namespace   MyNamespace1     //名字空间MyNamespace1  
  {  
          class   CMyClass  
          {  
          public:  
                  CMyClass():m_string("namespace1")  
                  {  
                  }  
                  const   CString&   GetString()  
                  {  
                          return   m_string;  
                  }  
                  void   SetString(CString   newString)  
                  {  
                          m_string   =   newString;  
                  }  
   
          private:          
                  CString   m_string;  
          };  
  };  
   
  namespace   MyNamespace3     //名字空间MyNamespace3  
  {  
          class   CMyClass  
          {  
          public:  
                  CMyClass():m_string("namespace3")  
                  {  
                  }  
                  const   CString&   GetString()  
                  {  
                          return   m_string;  
                  }  
                  void   SetString(CString   newString)  
                  {  
                          m_string   =   newString;  
                  }  
   
          private:          
                  CString   m_string;  
          };  
  };  
      4、再编写文件class2.h,其内容如下:  
  //   class2.h  
   
  namespace   MyNamespace2     //名字空间MyNamespace2  
  {  
          class   CMyClass  
          {  
          public:  
                  CMyClass():m_string("namespace2")  
                  {  
                  }  
                  const   CString&   GetString()  
                  {  
                          return   m_string;  
                  }  
                  void   SetString(CString   newString)  
                  {  
                          m_string   =   newString;  
                  }  
   
          private:          
                  CString   m_string;  
          };  
  };  
      5、将#include   "class1.h"  
              #include   "class2.h"  
  加入到MyNamespaceView.cpp文件中。  
      6、在void   CMyNamespaceView::OnDraw(CDC*   pDC)中添加以下代码:  
          MyNamespace1::CMyClass   class1;  
          MyNamespace2::CMyClass   class2;  
          MyNamespace3::CMyClass   class3;  
   
          CString   text1,text2,text3;  
          text1   =   class1.GetString();  
          text2   =   class2.GetString();  
          text3   =   class3.GetString();  
   
          pDC->TextOut(10,10,text1);  
          pDC->TextOut(10,30,text2);  
          pDC->TextOut(10,50,text3);  
      7、编译,运行。看看运行结果如何?  
      8、几点说明:  
          一、名字空间解决了C++的名字冲突问题  
          二、注意名字空间namespace的书写格式,和类class相似或相同。  
          三、名字空间名必需是唯一的,否则必需在它们的外面再套上一层名字空间,  
  亦即名字空间可以和类一样的嵌套使用  
          四、同名类在声明实例时必需加上名字空间作用域符“名字空间名::类名”  
          五、不一定只有类才可加上名字空间的外套,其它如,局部变量、全局变量  
  等都可加上名字空间外套。  
          六、名字空间还有更广泛的作用,有兴趣的朋友可与本人交流,我的EMAIL是  
  foryijian@sohu.com  
          七、以后各位看到std::,SHDocVw::应该不会默生了。  
 

NO.2   作者: begginginstorm

#import时使用rename_namespace指令


    摘要: 我使用jdk中的idlj.exe编译如下idl文件: module helloapp { interface hello { string sayhello(); }; }; 生成了_hellostub,hello,hellohelper,helloholder和hellooperations五个java文件,但是没有_helloimplbase.java,也没有 hellopoa.jav......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE