Tôi nên thêm phương thức một thông điệp Protobuf như thế nào?Mở rộng Protobuf bằng các phương pháp của riêng tôi
Giả sử tôi có trong tập tin .proto tôi:
package proto;
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
}
và tôi muốn thêm một phương pháp, nói rằng, chuỗi concatenateNameEmail()
vào tin nhắn.
Những gì tôi làm ngay bây giờ là tôi có thể tạo riêng ++ lớp C của tôi như thế này:
class Person : public proto::Person
{
public:
Person(proto::Person const & person_)
: proto::Person(person_)
{}
string concateNateNameEmail()
{
...
}
};
Vì vậy, nhược điểm là tôi cần phải gọi proto :: Person copy constructor. Có một giải pháp thanh lịch hơn thế này không?
Tôi không nghĩ khối mã đầu tiên chứa " gói "và" message "là cú pháp C++ hợp lệ .. Lý do" package "được đánh dấu cú pháp có lẽ vì nó là một từ khóa trong một số ngôn ngữ, nhưng tôi không nghĩ đó là một từ khóa trong C++. – Arun
Tôi xin lỗi vì tôi không rõ ràng. Khối mã đầu tiên là định nghĩa thông điệp proto. Hãy để tôi xóa bài đăng. – sivabudh