找回密码
 立即注册
收起左侧

这个应该算是C++的问题 大哥们帮忙看看

11
回复
9562
查看
[复制链接]
累计签到:256 天
连续签到:1 天
来源: 2015-5-11 15:16:34 显示全部楼层 |阅读模式
1Qter豆
那啥、老大叫写一个服务器类,然后里面又有一个项目1类,项目2类,项目1类又包含控制器类,探测器类;项目2类包含数据库类,定时器类;
请问这个要怎么写、、、头是真的炸了 炸了 炸了、、、、

最佳答案

查看完整内容

看来楼主用C++开发的基础有点薄弱,你这个问题最多也就牵扯到封装与继承,这些也都是基本的概念 最简单的,你把所有用到的类都写好,无非就是你包含我,我包含你,你调用我,我调用你的问题
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2015-5-11 15:16:35 显示全部楼层
看来楼主用C++开发的基础有点薄弱,你这个问题最多也就牵扯到封装与继承,这些也都是基本的概念

最简单的,你把所有用到的类都写好,无非就是你包含我,我包含你,你调用我,我调用你的问题
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-11 15:27:02 显示全部楼层
最好给一个类中包含类的例子让我学习一下  谢谢!

点评

不要把问题想复杂了,你在用到的类里声明你要用到的类的对象就可以了,个人认为,这其实就是将问题的解决模块化了  详情 回复 发表于 2015-5-11 16:38
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2015-5-11 16:38:25 显示全部楼层
z55716368 发表于 2015-5-11 15:27
最好给一个类中包含类的例子让我学习一下  谢谢!

不要把问题想复杂了,你在用到的类里声明你要用到的类的对象就可以了,个人认为,这其实就是将问题的解决模块化了
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-11 16:46:22 显示全部楼层
一叶知秋 发表于 2015-5-11 16:38
不要把问题想复杂了,你在用到的类里声明你要用到的类的对象就可以了,个人认为,这其实就是将问题的解决 ...

以前没接触过这个,现在在公司实习半个月,就开始做项目。开始用Qt还好,现在用C++,就有很多不行了,刚刚写了一个这样的 你帮我看看 在楼下
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-11 16:46:58 显示全部楼层
class CDevicetypecomparison                        //设备类型字典类
{
    int TypeID;
    QString DeviceExplain;
};

class CDeviceModelcomparison                //设备型号字典类
{
    int ModelID;
    QString DeviceExplain;
};

class CExtrocontrolinformation : public        CDevicetypecomparison,public CDeviceModelcomparison      //外控类
{
    int ID;
    int ModelID;
    QString ModelName;
    int LoopNumber;
    int Address;
    int TypeID;
    QString TypeName;
    QString InstallAddress;
    QString LinkageRelationship;
    int State;
    int ControllerID;
};

class CDetectorinformation : public        CDevicetypecomparison,public CDeviceModelcomparison                        //探测器类
{
    int ID;
    int ModelID;
    QString ModelName;
    int LoopNumner;
    int Address;
    int channelNumber;
    int TypeID;
    QString TypeName;
    int TestObjectID;
    int UnitlD;
    int Range;
    int Decimals;
    QString InstallAddress;
    int State;
    int ControllerID;
};

class CControllerinformation : public        CDevicetypecomparison,public CDeviceModelcomparison     //控制器类
{
    int ID;
    int Address;
    int TypeID;
    QString TypeName;
    int ModelID;
    QString ModelName;
    int AgreementVersion;
    int FirmwarmVersion;
    int LoopNumber;
    QString PortNumber;
    QString CommunicationAgreement;
    int PotterRate;
    int TimeRate;
    QString InstallAddress;
};

class CClient:public CControllerinformation,public CDetectorinformation,public CExtrocontrolinformation //客户端类
{

};
这样可以吗?
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-11 16:47:39 显示全部楼层
整个Client里面就这些
#ifndef CCLIENT_H
#define CCLIENT_H
#include <QString>
..........
#endif // CCLIENT_H
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2015-5-11 16:56:48 显示全部楼层
建议你按照qt的文件组织形式,一个类用来解决一类问题,对应一个头文件和实现文件
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-11 16:58:09 显示全部楼层
一叶知秋 发表于 2015-5-11 16:56
建议你按照qt的文件组织形式,一个类用来解决一类问题,对应一个头文件和实现文件 ...

我们老大叫我写一个类,就是我开始的问题。我搞成这样可以使用么?。~ 他的需求蛋疼得很
回复

使用道具 举报

累计签到:882 天
连续签到:3 天
2015-5-11 17:08:39 显示全部楼层
本帖最后由 一叶知秋 于 2015-5-11 17:13 编辑

你的意思是采用累的嵌套定义,我认为不是的吧,这样写还不得累死,你还是问清楚
class server
{
    class prj1
    {
         class contoler
         {
         };
         
        class detecter
        {
        };
        ........
    };

    class prj2
    {
    };
    .......
};
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-11 17:25:29 显示全部楼层
一叶知秋 发表于 2015-5-11 17:08
你的意思是采用累的嵌套定义,我认为不是的吧,这样写还不得累死,你还是问清楚
class server
{

貌似 就是你给我的这个、、、、、所以我蛋蛋疼
回复

使用道具 举报

累计签到:256 天
连续签到:1 天
2015-5-11 17:32:27 显示全部楼层
本帖最后由 z55716368 于 2015-5-11 17:34 编辑
一叶知秋 发表于 2015-5-11 17:08
你的意思是采用累的嵌套定义,我认为不是的吧,这样写还不得累死,你还是问清楚
class server
{

我改成这样了
class A
{
public:
   int a;
}
class B
{
public:
   int b;
}
class C
{
public:
    A a;
    B b;
}
calss D
{
public:
    A a;
    B b;
}
class E
{
public:
    A a;
    B b;
}
class F
{
public:
    D d;
    E e;
    F f;
}

这样好像就可以用了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了