【发布时间】:2011-04-23 06:31:16
【问题描述】:
我应该如何在 Protobuf 消息中添加方法?
假设我的 .proto 文件中有:
package proto;
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
}
我想在消息中添加一个方法,比如字符串concatenateNameEmail()。
我现在要做的是创建自己的 C++ 类,如下所示:
class Person : public proto::Person
{
public:
Person( proto::Person const & person_ )
: proto::Person(person_)
{}
string concateNateNameEmail()
{
...
}
};
所以缺点是我需要调用 proto::Person 复制构造函数。还有比这更优雅的解决方案吗?
【问题讨论】:
-
我不认为包含“包”和“消息”的第一段代码是有效的 C++ 语法。“包”之所以突出显示语法可能是因为它是某种语言中的关键字, 但我不认为它是 C++ 中的关键字。
-
对不起,我不清楚。第一个代码块是一个原型消息定义。让我清理一下帖子。
标签: c++ protocol-buffers