【发布时间】:2013-02-14 06:35:56
【问题描述】:
我无法弄清楚如何实现将 C++ 中的赋值运算符重载到 Java 的等价物。我知道没有这样的东西,但我需要模拟它。我试过重写 Clone() 函数,但没有运气。有什么想法吗?
以下是我的主要内容
Queue p = new Queue();
Queue q = new Queue();
p.enqueue('a');
p.enqueue(9);
p.enqueue(10);
p.enqueue(310);
p.enqueue(8);
q = p;
System.out.print(p);
这里是克隆函数
public void Clone(Queue other) throws Throwable
{
System.out.println("test\n");
if(this == other)
{
}
else
{
while(!isEmpty())
dequeue();
Node tmp = other.head;
while(tmp != null){
this.enqueue((T)tmp.element);
tmp = tmp.next;
}
}
}
【问题讨论】:
-
clone()与运算符重载有何关系? -
想要重载
=运算符的想法是非常可怕的。请浏览您自己的代码示例并思考为什么这会是一件非常非常糟糕的事情。 -
@Aniket 它复制一个对象。复制对象通常是运算符重载的目的。这就是他们的关系。见Cloning。
标签: java clone overloading variable-assignment operator-keyword