Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re x3: Perl - Is it an OO Language

by stefp (Vicar)
on Aug 27, 2002 at 19:11 UTC ( #193246=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Perl - Is it an OO Language
in thread Perl - Is it an OO Language

This must be platform dependant because on my linux box with g++ 3.2. I get to link and execute.

John M. Dlugosz. Are you sure of what you say? Sorry about the off topic. ==toto.h

class A { int ma; void printit(); A::A() : ma(666) {} };
==toto1.cc
#include "iostream" #define class struct #include "toto.h" main() { A a; std::cerr << a.ma << "\n"; a.printit(); }
==toto2.cc
#include "iostream" #include "toto.h" void A::printit() { std::cerr << ma << "\n"; }
===Compilation, link, execution
$ g++ -c toto1.cc -o toto1.o $ g++ -c toto2.cc -o toto2.o In file included from toto2.cc:2: toto.h:1: warning: all member functions in class `A' are private $ g++ toto*.o -o a.out $ ./a.out 666 666 $

Replies are listed 'Best First'.
Re: Re x3: Perl - Is it an OO Language
by John M. Dlugosz (Monsignor) on Aug 28, 2002 at 16:06 UTC
    I suppose it's implementation-dependant as to whether this is actually checked. I suppose it's a tradeoff on whether you fail to link if you change the protection but "handle" overloading based on protection! I recall at least one compiler that checked, but it may be because it was more aggressive at optimizing and rearranging things.

    For a virtual function, re-ordering the definitions will indeed change things on any known compiler.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://193246]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (5)
As of 2021-03-02 07:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favorite kind of desktop background is:











    Results (39 votes). Check out past polls.

    Notices?