c++中 是否该将父类和子类声明在同一个头文件中,是的话,如何声明?

2024-12-16 14:00:40
推荐回答(4个)
回答1:

对于语言来说你怎么放都是一样的 你可以吧所有的类的声明和实现都写在一个头文件中,或是一个源文件中!
但是对于使用者来说最好的就是 一个类有头文件和源文件
不过如果基类的内容比较少的话 可以考虑和其中一个类同时放在一个头文件和源文件里! mfc很多是这么做的!

例(分开写):
*****testa.h********

class CTestA
{

protected:
int m_nValue1;
int m_nValue2;

public:
CTestA();
~CTestA();

public:
virtual int GetSum(int value1, int value2);
};

**********testa.cpp***********
CTestA::CTestA()
{
m_nValue1 = 0;
m_nValue2 = 0;
}

CTestA::~CTestA()
{

}

int CTestA::GetSum(int value1, int value2)
{
return value1 + value2;
}

********testb.h************

class CTestB:
public CTestA
{
protected:
int m_nValue3;
int m_nValue4;

public:
CTestB();
~CTestB();

public:
virtual int GetSum(int value1, int value2);
};

********testb.cpp**********
CTestB::CTestB()
{
m_nValue3 = 0;
m_nValue4 = 0;
}

CTestB::~CTestB()
{

}

int CTestB::GetSum(int value1, int value2)
{
return value1 * value2;
}

当然也可以两个头文件合并,两个源文件合并 只是这样看起来让人容易看明白些,写代码就像写书,除了给自己看 还要给比人看.希望楼主养成好的习惯.

回答2:

每一个类都应该放在单独的2个文件中,一个是头文件,放声明代码;另一个是cpp源文件,放定义代码。 注:这是面向对象的编程方式。

回答3:

一般各个类在各自的头文件,和实现文件中比较好吧。但如果是写小程序,我看写在同一个头文件也无妨。
class parent //父类
{
public:
parent();

:
:
private:
:
:
};

class child : public parent //子类
{
public:
child();
:
:
private:
:
:
};

回答4:

不是,自己管自己的就好。