operator-overloading

    1热度

    1回答

    我觉得我的问题很简单而明确: 我有基类AbstractMatrix,和Matrix它的子类,我想使简单的换算: namespace mtrx { /* mycode */ class AbstractMatrix { public: /* -//- */ operator Matrix(); /* -//- */ }

    1热度

    1回答

    在我的代码中,我创建了一个类,该类使用运算符< <来接收变量并相应地处理这些变量。为了简洁起见,省略类内部的确切逻辑。 ,我要面对的问题是,当我尝试创建对象的一个​​匿名实例,并使用直接与(< <)运营商,大多数编译器会抱怨 - 沿东西线(无匹配“操作< <”) 从我的理解,直接调用类(的TestObject())是合法的表达式,它应该实例化被传递到操作的匿名对象。 欣赏你为什么不编译的想法? t

    4热度

    2回答

    我有以下类: template <typename T1> class Foo { public: Foo(T1* obj) : obj(obj) {} template <typename T2> Foo(const Foo<T2>& other) : obj(other.obj) {} template <typename T2> ex

    2热度

    1回答

    我试图理解操作符的深度超载,所以我玩了这一点的代码。 如果我理解正确的时候我重载一个运算符以外的类,它被称为一个全局运算符,因此我可以把每个对象的前缀或修复后的形式,在这种情况下,我用双(我的课)和双。 此代码工作正常,即时通讯努力找出原因。具体在主要功能。 d *** b d * b如何与d ******* b相同? friend std :: ostream& operator<<(std :

    0热度

    2回答

    我更多地了解了调用操作员, a()相当于a.invoke() 有什么更多关于调用操作,然后请解释。另外,我没有得到任何Invoke运算符重载的例子。 是否可以调用操作符重载?如果可能的话,任何人都可以请一个例子解释关于Invoke操作符重载。我对此没有得到任何答案。 在此先感谢。

    1热度

    1回答

    我想实现一个MultiDictionary:一个字典,其中包含每个键中的列表。 我希望能够使用除了赋值运算符和索引将元素添加到字典: myMultiDictionary[key] += elementToAdd; 我首先创建从名单继承的自定义AddableList和重载+和-让我使用加法赋值运算符: myAddableList += elementToAdd; MultiDicti ona

    1热度

    2回答

    为什么编译器找不到运算符< <。哪里编译器寻找到找运营商< <的定义,当它遇到行 cout <<f.some_func()<<endl; 错误: error: no match for ‘operator<<’ (operand types are ‘std::ostream {aka std::basic_ostream<char>}’ and ‘std::vector<std::vector<

    0热度

    2回答

    虽然我将一些代码编写为像python和其他语言中已知的power-operator的实现一样的语法糖,但运算符定义可以,但操作数与运算符签名匹配的表达式产生一个错误,因为操作员从未被定义过。有没有一种方法(编译器选项)为内置类型实现新的运算符? #include <iostream> #include <cmath> template<typename t_Float> struc

    0热度

    1回答

    我试图创建一个Actor指针指向另一个Actor对象,像这样删除: Actor other = Actor(); Actor* ptr = &other; 然后,当我尝试delete ptr,它导致运行时错误: Program.exe has triggered a breakpoint 但是,当我创建一个新的Actor而不是分配给ptr的other参考,我可以放心地delete它没有任何错

    1热度

    1回答

    我正在学习C++,学习Visual C++教科书。 当我想重载operator +时,我用于重载operator =的代码出错了。 #include <iostream> #include <string.h> using namespace std; //This demo shows how default operator may cause conflict, so we use o