So I've been mostly just toying around with D as it seems like it will end up being a strong language for game development both now and even moreso in the future. That being said, I'm perplexed by using this code and not receiving the result I would imagine. Here is the source code of a basic "sandbox.d" file:

    import std.stdio;

    class Animal {
        string voice;

        void speak() {
            writeln(this.voice);
        }
    }

    class Dog : Animal {
        string voice = "Whoof!";
    }

    int main() {
        auto a = new Animal();
        auto d = new Dog();

        a.speak(); // Prints ""
        d.speak(); // Prints "" instead of "Whoof!"

        return 0;
    }

I know that C++ behaves this way. However, Dlang impresses me by having a very "no duh" approach to things where this type of example seems very "no duh." Anyways, please be gentle as I am hardly what most would consider a "skilled" programmer and, as such, was something I wanted to bounce off the pros :)

Reply via email to