This is another case of interface declaration. If you have virtuals, you first declare pure interface. And you have several implementations of the interface. It works well in c++.

I talk about the case when I plan to implement some class later, just one class, without hierarchy. I want to declare his interface, write and compile tests even before the class is fully defined. Today I have either to use PIMPL or declare unnecessery interface that is never reused.

I just propose a simpler alternative of interface declaration. The virtual methods are not there, we do not need it for this case.

On Thu, Aug 26, 2021, 07:41 Thiago Macieira via Std-Proposals <std-proposals@lists.isocpp.org> wrote:
On Wednesday, 25 August 2021 21:30:59 PDT Valery Osheter via Std-Proposals
wrote:
> I think that the programmer should have the way to hide the implementation
> details, otherwise the main concept of OOP is not provided by the language.

Half of OOP requires use of virtuals. If you're going to argue the need for
partial declarations and hiding implementation details, please include the
ability to use virtual members and bases.

--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel DPG Cloud Engineering



--
Std-Proposals mailing list
Std-Proposals@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals