AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > VC编程

转:从VC++到GCC移植:谈两者语法差异

51自学网 2015-08-30 http://www.wanshiok.com

 

  基类成员引用

以下是引用片段:
  template 
  class Foo : public Base
  {
  public:
  void foo() {
  base_func();
  m_base_member = 0;
  }
  };

  这段代码在VC++中同样没有问题,但是GCC中不能通过。因为GCC并不知道base_func,m_base_member是什么。对于这个问题,你可以有两种改法:

  改法1:加上域作用符Base::

以下是引用片段:
  template 
  class Foo : public Base
  {
  public:
  void foo() {
  Base::base_func();
  Base::m_base_member = 0;
  }
  };

  改法2:使用using指示符

以下是引用片段:
  template 
  class Foo : public Base
  {
  public:
  using Base::base_func;
  using Base::m_base_member;
  void foo() {
  base_func();
  m_base_member = 0;
  }
  };

  这两种方法各有好处,在class Foo中出现大量的Base::base_func、m_base_member的引用时,使用using是方便的。而如果只有一次,那么方法1显得简短。

 
 
说明
:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。

上一篇:Windows按键突破专家的原理  下一篇:Visual C++编译器常用选项设置