parent class get the subclass object

Brian via Digitalmars-d digitalmars-d at puremagic.com
Mon Jan 16 08:31:41 PST 2017


On Monday, 16 January 2017 at 12:20:47 UTC, rikki cattermole 
wrote:
> On 17/01/2017 1:15 AM, Brian wrote:
>> Dlang should support such coding. What should I do?
>>
>> import std.stdio : writeln;
>>
>> abstract class Base(T)
>> {
>>     this()
>>     {
>>         _this = this;
>>     }
>>
>>     void hello()
>>     {
>>         _this.world();
>>     }
>>
>>     private
>>     {
>>         T _this;
>>     }
>> }
>>
>>
>> class Sub : Base!Sub
>> {
>>     void world()
>>     {
>>         writeln("Hello world");
>>     }
>> }
>>
>> void main()
>> {
>>     Sub sub = new Sub;
>>     sub.hello();
>> }
>>
>
> FYI, this would have been more appropriate in D.learn instead 
> of the main forum.
>
> import std.stdio;
>
> abstract class Base {
> 	void hello() {
> 		world();
> 	}
>
> 	void world();
> }
>
> class Sub : Base {
> 	override void world() {
> 		writeln("Hello World");
> 	}
> }
>
> void main() {
> 	Sub sub = new Sub;
> 	sub.hello();
> }

No, you don't understand I want to express meaning.

other programing language is allow this.

Your code more like the old C++.

If a high-level programing language or need haevy like C++ impl 
code, It's very regret.

Can like rust / swift / php / java / C# ?


More information about the Digitalmars-d mailing list