大侠指教关于类文件的组织方法

大鸟的小天空 2005-11-26 11:48:56
比如:我有3个类,日志类log 数据库类mysql 和程序类myRun[主程序类]
mysql和myRun都要调用log生成日志。
那么在mysql类中我怎么使用log类功能,
1。在mysql中定义log的对象,这样如果我有10个类调用log,则要生成10个log对象。是不是浪费一点。
2。在mysql.h中使用extern log mylog; 那么我需要在myRun中定义log对象。在mysql.h中include <myRun.h>是不是[问题1],这样的话,如果我有一个测试类myTest,来测试mysql的功能,就不会用到myRun类了,那么这时候mysql.h中就要include <myTest.h>,如果这样就要在mysql.h中使用#ifdef test对不对?

我这样的使用是不是合乎正常的c++文件组织形式,应该是第二种方案更好,对不?
有没有更好的组织方式。。

小弟没有太多的c++编程经验,但是希望作点比较完整的东西,望指教。
最好能给出一些关于c++类组织形式的指导。实战中的。
谢谢先。。

那位高手愿加偶QQ:22177861 指教这些简单的基础东西,更感激不禁。新手也可以相互切磋。。
...全文
288 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
大鸟的小天空 2005-12-01
  • 打赏
  • 举报
回复
这几天出差了,没有结贴.sorry

stanley_yue 2005-11-28
  • 打赏
  • 举报
回复
看看设计模式,singleton应该是很好的选择。
代码也很简单:
The Singleton class is declared as

class Singleton {
public:
static Singleton* Instance();
protected:
Singleton(); //重要,一定不能放到public里
private:
static Singleton* _instance;
};

The corresponding implementation is

Singleton* Singleton::_instance = 0;

Singleton* Singleton::Instance () {
if (_instance == 0) {
_instance = new Singleton;
}
return _instance;
}

fiftymetre 2005-11-28
  • 打赏
  • 举报
回复
静态成员变量.static是不可以跨文件使用的吧。过多的使用这个你以后不用维护啦
jixingzhong 2005-11-27
  • 打赏
  • 举报
回复
呵呵 ~

楼主明白了 ~
xiaocai0001 2005-11-26
  • 打赏
  • 举报
回复
汗

被楼主说晕了.

建立楼主可以使用静态成员变量.

或者定义一个类
class shareLog
{
static log mysqlLog;
public:
static log &GetLogHandle();
}

log &shareLog::GetLogHandle()
{
return mysqlLog;
}

在其它需要使用log对象时, 只需要调用 shareLog::GetLogHandle()就可以了.

不知道我说清楚了没有~ -_-!!
oyljerry 2005-11-26
  • 打赏
  • 举报
回复
嗯,singleton模式
大鸟的小天空 2005-11-26
  • 打赏
  • 举报
回复
明白了,1楼的,呵呵。。。thanks。。
基本上就是单件模型,我咋就忘了。。^_^。。
c++的伟大把我弄晕了。thinks....



====CSDN 小助手 V2.5 2005年11月05日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2

snowbirdfly 2005-11-26
  • 打赏
  • 举报
回复
恩~~~
可以使用日志类log定义bool AddLog(...),然后mysql类或者其他类中加入该头文件直接调用就可以了~~~
定义一个日志类log类型的m_Log~~
内容概要:本文研究了基于粒子群算法的风电-水电(抽水蓄能)联合优化调度问题,旨在通过智能优化算法实现新能源与储能系统的协同调度,提升电力系统运行效率与稳定性。研究采用粒子群优化(PSO)算法对风电和抽水蓄能电站的出力进行联合优化,以最小化系统运行成本、减少弃风弃电、提高可再生能源消纳能力为目标,构建了包含风电出力不确定性、水电站水量平衡、抽水蓄能机组运行约束在内的多目标优化模型,并通过Matlab编程实现算法求解与仿真验证。文中详细探讨了算法参数设置、收敛性分析及优化结果的合理性,展示了该方法在实际电力系统调度中的应用潜力与工程价值。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事新能源调度、智能优化算法应用的工程技术人员。; 使用场景及目标:①应用于含大规模风电接入的电力系统中,实现风电与抽水蓄能的协调调度;②为电力系统经济调度、可再生能源消纳、储能优化配置等研究提供算法支持与仿真案例;③作为智能优化算法在能源系统中应用的教学与研究参考资料。; 阅读建议:读者应结合Matlab代码与文中模型描述,理解算法实现细节,建议在学习过程中动手调试代码,尝试修改目标函数或约束条件以观察优化结果变化,从而深入掌握粒子群算法在能源调度中的应用方法。

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧