<div dir="ltr">but... going back to Frank's Example1: I don't see a FinalState(Projection) constructor. Won't operator =(Projection) be called in the first line of<div><br style="font-size:12.8000001907349px"><font face="monospace, monospace"><span style="font-size:12.8000001907349px">      FinalState remainder = zfinder.remainingFinalState();</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">      addProjection(remainder, "RFS");</span></font><br></div><div><br></div><div><span style="font-size:12.8000001907349px"><font face="arial, helvetica, sans-serif">since no appropriate constructor exists? Or will some implicit copy constructor be called not via operator=?</font></span></div><div><span style="font-size:12.8000001907349px"><font face="arial, helvetica, sans-serif"><br></font></span></div><div><span style="font-size:12.8000001907349px"><font face="arial, helvetica, sans-serif">Chris</font></span></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 7, 2015 at 9:52 PM, David Grellscheid <span dir="ltr"><<a href="mailto:david.grellscheid@durham.ac.uk" target="_blank">david.grellscheid@durham.ac.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Maybe the confusion comes from the fact that<br>
<br>
  Foo a = 7;<br>
<br>
does not call operator=(), but calls the constructor Foo(int). It's just a different way of writing a constructor. operator=() is only called here:<br>
<br>
  Foo a;<br>
  a = 7;<br>
<br>
I still haven't had a chance to look at it in detail, sorry!<br>
<br>
See you,<br>
<br>
  David<div><div><br>
<br>
<br>
On 07/07/2015 21:49, Andy Buckley wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hmm, I certainly implemented it hoping that code with copy assignments (as<br>
opposed to copy constructions, which should perhaps also be banned to<br>
forbid an alternative-syntax route to achieving the same misguided goal)<br>
would now fail to compile. I based that on some StackOverflow reading since<br>
I was short of time to make an explicit test case of my own.<br>
<br>
I was *hoping* (and convinced from that reading) that it would not be legal<br>
for a private virtual method on a base class to be overloaded as public<br>
(and certainly not *automatically*) on a derived class. It would be a huge<br>
pain if those operators need to be *explicitly* private'd on every derived<br>
Projection.<br>
<br>
Aaaaand back to holiday ;-)<br>
AB<br>
<br>
</blockquote>
</div></div></blockquote></div><br></div></div>