【c】信息传递,从一个cpp文件传输到另一个cpp文件

typedef struct _message
{
    int head;
    int foot;
}Message;


class Sendmessage
{
public:
    Sendmessage()
    {
        memset(&m_message, 0, sizeof(m_message));
    }

    Message* GetMessage()
    {
        return &m_message;
    }
private:
    Message m_message;
}

static Sendmessage g_sendmessage;

Message* Setmessage()
{
    return g_sendmessage.GetMessage();
}

上面代码用于将一个cpp文件中的某些参数放入一个结构体中,让这些参数可以在其他cpp文件中赋值并使用。

其他文件中使用方法如下:

Message* param = Setmessage();
param->head = 100;

也可以使用更简单的方法:

static Message msg;
memset(&msg, 0, sizeof(msg));

Message* Sendmessage(){
    return &msg;
}

那两种方法的区别在哪里呢?

用类封装后是更安全的,因为在第一种方法中,参数是在private中,因此在类外,控制参数只能使用类中的getmessage这个函数来改变或者获取值。而在第二种方法却可以随意修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值