是否有可能将对象标识符与字符串习语进行比较而不添加任何成员,例如字符串变量到类?
struct ObjectExample {}ObEX;
string St;
cin >> St >> endl; // you enter ObEX
// What I need to reach is this comparing
if(obEX == St)
{......}
如您所见,两个对象都有不同的数据类型..
如果比较不可能。我会重新正式化我的问题:
是否有任何将对象标识符复制到字符串对象的技术。
整个问题是,如果您不能修改或添加类定义,但您只能创建它的实例,并且您想要将字符串名称与对象标识符进行比较!
答案 0 :(得分:3)
您为结构==
重载运算符ObjectExample
。
struct ObjectExample
{
bool operator ==(const std::string &str)
{
//do the necessary comparison and return a bool
}
};
当然,如果他们有一些可比较的特征,你只能比较两件事。如果您的ObjectExample
没有任何string
类型的成员,那么您实际上是在尝试将苹果与橙子进行比较,这实际上没有任何意义。