当前位置:  开发笔记 > 编程语言 > 正文

c ++将方法添加到头文件中定义的类

如何解决《c++将方法添加到头文件中定义的类》经验,为你挑选了2个好方法。

我想知道是否可以将主程序中的方法添加到头文件中定义的现有类中.例如:class CFun在文件中定义了CFun.hpp,但在我们中party.cpp我们想要添加一个方法void hello() {cout << "hello" << endl;};而不进行编辑CFun.hpp

显然(不幸的是)建筑:

#include "CFun.hpp"

class CFun
{
  public:
    void hello() {cout << "hello" << endl;};
};

不起作用返回错误 Multiple declaration for 'CFun'

是否可以在没有类继承的情况下使其工作?



1> Eclipse..:

不,但是你可以添加一个方法来获取CFun类的引用/指针 - 你将无法访问私有数据:

void Hello(CFun &fun)
{
    cout << "hello" << endl;
}

这可能是你能做的最好的.正如litb所指出的 - 这个函数必须与CFun位于相同的名称空间中.幸运的是,与类不同,名称空间可以添加到多个位置.



2> Timo..:

您可以像这样重新定义类:

#define CFun CLessFun
#include "CFun.hpp"
#undef CFun

class CFun : CLessFun
{
   public:
    void hello() {cout << "hello" << endl;};
};

把它放在一个新的头文件中CMoreFun.hpp,而不是包含它CFun.hpp

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有