Article View: borland.public.cppbuilder.nativeapi
Article #17689Re: multiple inheritance and the VCL
From: Alisdair Meredith
Date: Thu, 06 Mar 2003 16:33
Date: Thu, 06 Mar 2003 16:33
29 lines
2476 bytes
2476 bytes
Stephan wrote: > I'm a beginner at C++, and am in the process of teaching myself > how to approach a problem using the concepts of OOP. Part of this > is learning how to tackle a problem in a manner consistent with the > solution techniques available. It isn't always possible, and sometimes > it requires approaching the problem in a different manner. Well, Multiple Inheritance is a standard feature of the C++ language, and some libraries are designed around its use (as 'mixin' classes) If BCB is a C++ compiler you would expect this feature. VCL is implemented in Delphi, which rejected the idea of multiple inheritance as something too prone to abuse. Therefore VCL classes are limited to single inheritence with TObject at the root. However, it has long been observed that sharing interfaces is a valuable feature of OO, as exemplified in Java. Therefore around Delphi 3/4 it gained the ability to implement multiple interfaces so long as only one 'concrete' class descends from TObject. This feature has taken a long time to migrate to C++. We are left with a compiler for a language that supports MI, a class library implemented in a language that supports multiple interfaces, yet until last version we were unable to use it, and even now it is somewhat limited. I think it was a fair question to ask <g> -- AlisdairM Team Thai Kingdom
Technical Details
Message-ID:
<3E677863.21FAFB3@uk.renaultf1.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-03!sn-xit-01!sn-xit-08!supernews.com!news-out.visi.com!petbe.visi.com!newsfeed.wirehub.nl!news.kweb.on.ca!KWeb!newsgroups.borland.com!not-for-mailReferences:
<3e64d1be@newsgroups.borland.com> <3e64e3b0$1@newsgroups.borland.com> <3E672FE1.C4CC3277@uk.renaultf1.com> <3e677294$1@newsgroups.borland.com>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 10cc67,679d8017f814d3b X-Google-Attributes: gid10cc67,public X-Google-ArrivalTime: 2003-03-06 21:27:17 PST Message-ID: <3E677863.21FAFB3@uk.renaultf1.com> Date: Thu, 06 Mar 2003 16:33:39 +0000 From: Alisdair Meredith <alisdair.meredith@uk.renaultf1.com> X-Mailer: Mozilla 4.75 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: borland.public.cppbuilder.nativeapi Subject: Re: multiple inheritance and the VCL References: <3e64d1be@newsgroups.borland.com> <3e64e3b0$1@newsgroups.borland.com> <3E672FE1.C4CC3277@uk.renaultf1.com> <3e677294$1@newsgroups.borland.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit NNTP-Posting-Host: 195.153.139.2 X-Trace: newsgroups.borland.com 1046968424 195.153.139.2 (6 Mar 2003 08:33:44 -0800) Lines: 29 Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!sn-xit-03!sn-xit-01!sn-xit-08!supernews.com!news-out.visi.com!petbe.visi.com!newsfeed.wirehub.nl!news.kweb.on.ca!KWeb!newsgroups.borland.com!not-for-mail