避免在不同的结构中声明相同的数据类型

时间:2014-06-24 08:14:38

标签: c++ c

我的代码中声明了2 -3个结构,所有这些结构都有一些常见的数据类型。 在我们公司的严格政策,我们不重复代码。所以我想知道是否有任何方法可以在某些函数中声明这些公共数据类型,并在声明结构时使用该函数。

例如

 struct_1
    {

    ... un common stuff

    // below are common declaration .. how would I declare below data type in some function and
// call it here to declare those data type
    unsigned char char_1;
    unsigned int int_1;
    std::vector< small_structure> small_struct;

    }

struct_2
{

... un common stuff

unsigned char char_1;
unsigned int int_1;
std::vector< small_structure> small_struct;

}

struct_3
{

... un common stuff

unsigned char char_1;
unsigned int int_1;
std::vector< small_structure> small_struct;

}

2 个答案:

答案 0 :(得分:4)

为什么不创建通用结构呢?

struct Common {
    unsigned char char_1;
    unsigned int int_1;
    std::vector< small_structure> small_struct;
}

struct struct_3
{
    ... un common stuff
    struct Common commonStuff;
}

或者如果您使用C ++,您可以继承常见的结构:

struct struct_3 : Common
{
     ... un common stuff
}

但是如果可能的话,更喜欢构图而不是继承。

答案 1 :(得分:0)

您可以将所有这些结构放在头文件(xx.h)中。当您需要这些结构时,可以包含这些头文件,例如'include“xx.h”'