🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by David Franke Mon, 07 Aug 1989 15:39
Member initialization via member initialization list vs. statement in constructor body
#335
Author: David Franke
Date: Mon, 07 Aug 1989 15:39
44 lines
1372 bytes
g++ version 1.35.1- compiles the following without incident:

    class class1 {
     public:
      int var1;
    };

    class class2 : public class1 {
     public:
      class2 ( int val ) { var1 = val; }
    };

    class class3 : public class1 {
     public:
      class3 ( int val ) { var1 = val+1; }
    };

but reports:

In method struct class3 *class3::class3 (int):
testb1.c:14: multiple initializations given for member `var1'

on the following source:

    class class1 {
     public:
      int var1;
    };

    class class2 : public class1 {
     public:
      class2 ( int val ) : var1(val) {}
    };

    class class3 : public class1 {
     public:
      class3 ( int val ) : var1(val+1) {}
    };

Aren't these equivalent?  Lippman, Section 6.1 (p. 242-243) 
leads me to believe they are.
 David Franke, MCC CAD Program | ARPA: franke@mcc.com | Phone: [512] 338-3641
 UUCP: {uunet,harvard,gatech,pyramid}!cs.utexas.edu!milano!cadillac!franke
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads