C中的操作符重载为int obj
发布时间:2020-12-16 05:45:17 所属栏目:百科 来源:网络整理
导读:我有以下类: class myclass{ size_t st; myclass(size_t pst) { st=pst; } operator int() { return (int)st; } int operator+(int intojb) { return int(st) + intobj; }}; 只要我这样使用,这工作正常: char* src="This is test string";int i= myclass(s
我有以下类:
class myclass { size_t st; myclass(size_t pst) { st=pst; } operator int() { return (int)st; } int operator+(int intojb) { return int(st) + intobj; } }; 只要我这样使用,这工作正常: char* src="This is test string"; int i= myclass(strlen(src)) + 100; 但我无法做到这一点: int i= 100+ myclass(strlen(src)); 任何想法,我该如何实现? 解决方法
实现运算符在课外的重载:
class Num { public: Num(int i) { this->i = i; } int i; }; int operator+(int i,const Num& n) { return i + n.i; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |