gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 14:59:52 26 4
gpt4 key购买 nike

我想知道是否可以将主程序中的方法添加到头文件中定义的现有类中。例如:有 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'

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

最佳答案

不,但是您可以添加一个方法,该方法采用指向 CFun 类的引用/指针 - 您只是无法访问私有(private)数据:

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

这可能是您能做的最好的事情。正如 litb 所指出的那样 - 此函数必须与 CFun 位于同一 namespace 中。幸运的是,与类不同,命名空间可以添加到多个地方。

关于c++向头文件中定义的类添加方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/248617/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com