我需要拆分一个类(.h文件)

#ifndef _L_H
#define _L_H
template<class L> class Myclass{
public:
  L();
  firstoperator(..);
  secondoperator(..);
private:
 ...
}
template <class L> Myclass<L>::L() ...
template <class L> Myclass<L>::firstoperator(..) ...
template <class L> Myclass<L>::secondoperator(..) ...

在两个不同的.h文件中,格式如下:
#ifndef _L_H
#define _L_H
template<class L> class Myclass{
public:
  L();
  firstoperator(..);
private:
 ...
}
template <class L> Myclass<L>::L() ...
template <class L> Myclass<L>::firstoperator(..) ...
#ifndef _L_H
#define _L_H
template<class L> class Myclass{
public:
  secondoperator(..);
}

template <class L> Myclass<L>::secondoperator(..) ...

我怎样才能正确正确地做到没有冲突?

先感谢您。

最佳答案

您可以使用传统将类拆分为两个 header 。

您可以在基类上声明一半类,而在派生类上声明另一半类。

像这样:

class C12{
public:
  void f1();
  void f2();
};

可以分为C1和C12
class C1{
public:
  void f1();
};

class C12: public C1{
public:
  void f2();
};

现在C12与以前相同,但分为2个文件。

关于c++ - 我如何将一个类定义分为2个头文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26001093/

10-12 02:10