Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 重载运算符=使用非类类型_C++ - Fatal编程技术网

C++ 重载运算符=使用非类类型

C++ 重载运算符=使用非类类型,c++,C++,对不起,这个可能很愚蠢的问题。我想覆盖类变量的默认mutator/accesor(使用=操作符,而不是通常的set/get命名法)。我想获得一些可能性方面的指导。我找到的与我的问题最接近的资源是,它提供了我所需的50% 让我们假设我有这个类(这段代码不是我的实际需要,而是我所要求的一个更简单的例子) 给定IDCard my_id,我可以这样做:my_id=10,但我也想这样做:int I=my_id 为此,我是否能够重载IDCard类中的某些内容以在=操作符上返回原语,或者这仅适用于设置类对象

对不起,这个可能很愚蠢的问题。我想覆盖类变量的默认mutator/accesor(使用
=
操作符,而不是通常的
set/get
命名法)。我想获得一些可能性方面的指导。我找到的与我的问题最接近的资源是,它提供了我所需的50%

让我们假设我有这个类(这段代码不是我的实际需要,而是我所要求的一个更简单的例子)

给定
IDCard my_id
,我可以这样做:
my_id
=10,但我也想这样做:int I=
my_id

为此,我是否能够重载IDCard类中的某些内容以在
=
操作符上返回原语,或者这仅适用于设置类对象


我看不到很多有用的例子,因为它会使代码变得更模糊,但是我正在转换一些已经覆盖了它们的调制器和访问器的Python代码,所以我想知道C++是否有类似的能力。

class IDCard {
    int id;
public:
    operator int() const { return id; }
};
但是,我强烈建议不要这样做,并建议使用普通的访问器方法:

class IDCard {
private:
    int id_;
public:
    int id() const { return id_; }
};

谢谢,我没有意识到你能做到这一点。我也不建议你这么做,因为阅读基本上是这么做的python代码是一件痛苦的事情(尽管更复杂的调用发生在后台)。
class IDCard {
private:
    int id_;
public:
    int id() const { return id_; }
};