gpt4 book ai didi

c++ - 如何更好地编写这个C++程序

转载 作者:行者123 更新时间:2023-11-30 05:22:27 25 4
gpt4 key购买 nike

<分区>

我有很多使用公共(public)类 (HW_util) 的模块(C++ 类)

HW_util 类实际初始化硬件。

所有模块都使用 HW_util 对象的地址进行初始化。我有 30 多个模块和 30 多行只做初始化的代码,我发现这段代码很难看。 有更好的方法吗?

class HW_Util
{
InitHW();
Functionality1_onHW();
Functionality2_onHW();
..
CleanupHW();
};


class Module1
{
Module1(HW_Util *util) { m_Util = util; }
..
HW_Util *m_Util;

void DoSomething()
{
//uses m_Util to do something
}
};

class Module2
{
Module2(HW_Util *util) { m_Util = util; }
..
HW_Util *m_Util;

void DoSomething()
{
//uses m_Util to do something
}
};

...
//I have around 30 such modules..
...



void main()
{
HW_Util util;

Module1 mod1(&util); //I am passing util to all these modules, and I have around 30 such modules, ugly code
Module1 mod1(&util);
Module3 mod1(&util);
Module4 mod1(&util);
Module5 mod1(&util);


util.InitHW(); //actually fill up the util

mod1.DoSomething();
mod2.DoSomething();
..


util.CleanupHW();
}

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