int main(int argc, char* argv[]) { if (argc != 2) { cout << "Error: usage " << argv[0] << " <string>" << endl; return -1; } size_t len1, len2; string msg(argv[1]); cout << "Original string: " << msg << endl; Encoding encoder; char* encoded = encoder.hamming_encode(msg.data(), msg.length(), len1); cout << "The length of encoded message is " << len1 << " bytes" << endl; cout << "Encoded message: " << string(encoded, len1) << endl; char* decoded = encoder.hamming_decode(encoded, len1, len2); cout << "The length of decoded message is " << len2 << " bytes" << endl; cout << "Decoded message: " << string(decoded ,len2) << endl; return 0; }