Translate C++ to D

BLS nanali at nospam-wanadoo.fr
Tue Jan 8 12:42:41 PST 2008


Jason House schrieb:
> Luca Lupo Wrote:
> 
>> Someone known convert this c++ code to D?
>>
>> TANKS SO MUCH
> 
> Below is my cut at it.  Note that I made a few assumptions that may or may not be correct for you.  I used a singly linked list from the phobos library instead of std.list.  Also, I don't know what Observer and Post are.  I don't know what the right way to use them are.  For example, if Observer is a class, there's no need to use Observer*.  Also, I don't know if Post is getting copied when passed into the newPost function.  Depending on what's going on there, that function signature may need to change
> 
> 
> import std.slist;
> import Observer;
> import Post;
> 
> class Subject{
>        private:
>        public:
>                // Functions are virtual by default
>                Slist!(Observer *) _observer; // Observer or Observer*?
>                ~Subject();
>                void Attach(Observer *); // Observer or Observer*?
>                void Detach(Observer *); // Observer or Observer*?
>                void Notify();  
>        protected:
>                this();
>        }
> 
> class Blog : public Subject{
>        private:
>                string Blog_name;
>                Slist!(Post) l_post;
>        public:
>                // If no overloading by derived classes, 
>                // compiler will make non-virtual
>               Blog(string );
>               void Notify(); 
>               void NewPost(Post); // Post? const Post? in Post?
>               string GetName();
>               void print();
>        };

Or simply use :
Observer[] _observer;
I mean in this case a reasonable solution.
Bjoern



More information about the Digitalmars-d mailing list