| delorie.com/archives/browse.cgi | search |
| Newsgroups: | comp.os.msdos.djgpp |
| From: | "A. Jans-Beken" <jabe AT oce DOT nl> |
| Subject: | Re: Easy C++ stuff... I hope, anyway. |
| Message-ID: | <34D1EC54.5105@oce.nl> |
| Sender: | news AT oce DOT nl (The Daily News @ nntp01.oce.nl) |
| Organization: | Océ-Nederland B.V. |
| References: | <6aolmn$3vs AT nnrp3 DOT farm DOT idt DOT net> |
| Mime-Version: | 1.0 |
| Date: | Fri, 30 Jan 1998 15:05:56 GMT |
| Lines: | 42 |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Chia wrote:
>
> I've got two classes... Both of them have lots of constructive arguments,
> and I want to have one of them be contained from the other one. Here's what
> I mean:
>
> class a {
> public:
> a(int b) {
> x = b;
> }
> protected:
> int x;
> }
>
> class b {
> public:
> b(int x) {
> // normally, I would just do this:
> // a class_a_instance(x);
This IMO is no good C++ code ^^^^
You can use:
a class_a_instance
but not
a class_a_instance(x)
Why?
During the definition of class B you still have NOT an instance of B.
Therefore you can not initialize a member of B. You have to initialize A
in your constructor for B.
The constructor for B should be:
b::b(int x): a(x) { /* init other members of B here */ }
> // but that doesn't seem to work.
> // any ideas on how to call class a's constructor
> // if it's part of another class?
> // thanks! chia AT top DOT net
> }
> protected:
> a class_a_instance;
> }
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |