www.digitalmars.com Home | Search | C & C++ | D | DMDScript | News Groups | index | prev | next
Archives

D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger

C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows

digitalmars.empire
digitalmars.DMDScript

D.gnu - Interfaces versus unimplemented virtual functions

↑ ↓ ← Giles Constant <giles spacepigs.com> writes:
Hiya,

I'm a little bit confused as to how to implement something.  In C++, I would
write this:

class Base {
        int x;
        virtual void function() = 0;
}

ie, it's a base class, which has an int, and a function which must be
implemented by any subclasses.

In D, there doesn't appear to be an equivalent to the "= 0" syntax, and
interfaces won't let me have integers!

What's the equivalent style?

Thanks!

Giles
Jun 28 2004
→ Andy Friesen <andy ikagames.com> writes:
Giles Constant wrote:
 Hiya,
 
 I'm a little bit confused as to how to implement something.  In C++, I would
 write this:
 
 class Base {
         int x;
         virtual void function() = 0;
 }
 
 ie, it's a base class, which has an int, and a function which must be
 implemented by any subclasses.
 
 In D, there doesn't appear to be an equivalent to the "= 0" syntax, and
 interfaces won't let me have integers!
 
 What's the equivalent style?
 
 Thanks!

What you're looking for is the abstract keyword: class Base { int x; abstract void function(); } (by the way, this is kind of an odd place to post this. D.gnu is mainly about GCC-related issues as opposed to the D language itself) -- andy
Jun 28 2004
→ Ilya Minkov <minkov cs.tum.edu> writes:
 abstract class Base {
         int x;
         virtual void function();
 }

-eye Giles Constant schrieb:
 Hiya,
 
 I'm a little bit confused as to how to implement something.  In C++, I would
 write this:
 
 class Base {
         int x;
         virtual void function() = 0;
 }
 
 ie, it's a base class, which has an int, and a function which must be
 implemented by any subclasses.
 
 In D, there doesn't appear to be an equivalent to the "= 0" syntax, and
 interfaces won't let me have integers!
 
 What's the equivalent style?
 
 Thanks!
 
 Giles
 

Jun 28 2004