08-09-2012
Quote:
Originally Posted by
xavipoes
If for instance there were two static members of different classes, both static int i, there woud also be two addresses in the program's static area. int Egg::i and int Shell::i.
Yes, they would be separate. Their names would be mangled so they don't overlap when the program is linked -- the same way all C++ variable and function names get mangled so they don't overlap, to allow overloading.
Quote:
In the case above, wouldnt it create a global Egg e, which also contains another global Egg e
I suppose there would be an Egg:e.e inside ( not Egg::Egg::e ) as well as Egg::e.e.e, and so forth. But they'd all be the same object -- not a different one. They're not really contained inside the class in the first place, so they don't nest. Just consider them globals with funny names.
10 More Discussions You Might Find Interesting
1. Programming
I'm trying to put together a summer class for me and a few of my classmates. The class will be given a credit this fall. The Topic will be Unix Network Programming for Unix. We will have some IBM R6000's to work on, with AIX 4.2 and/or yellow dog (as yet to be determined if/how much a role each... (1 Reply)
Discussion started by: thmnetwork
1 Replies
2. UNIX Desktop Questions & Answers
This is a great sight! Excellent site, added to favorites!! I am also webmaster and I like this one!Thank you! (0 Replies)
Discussion started by: Leksej
0 Replies
3. UNIX Desktop Questions & Answers
Hi..!!!You have a very nice web-site! Good work!I am also webmaster and I like this one!Thank you! (1 Reply)
Discussion started by: Hardan
1 Replies
4. UNIX for Dummies Questions & Answers
im just trying to have some fun and kill some time writing a c++ program that has a person type in a car make and model then gives them a year and a price. or something like that. i always have problems getting it goin but once the ball is rolling im usually pretty good. anyone wanna help me out? ... (1 Reply)
Discussion started by: rickym2626
1 Replies
5. Programming
Hi, i have a question about C++. Is it possible to declare a class with a member ot the same class? For example, a linked list or i want to convert this C code to C++ class (Elemento)
typedef struct elemento
{
char name;
char value;
List<struct elemento> ltElementos;
... (7 Replies)
Discussion started by: pogdorica
7 Replies
6. Shell Programming and Scripting
cat a.pl
#!/usr/bin/perl
package Myperlclass;
sub mysub{
my $class;
$class=shift;
my $self{};
bless $self,$class;
return $self;
}
sub add{
my $a,$b,$res;
$a=$_;
$b=$_;
$res=$a+$b;
print "res: $res\n";
} (0 Replies)
Discussion started by: cola
0 Replies
7. UNIX for Advanced & Expert Users
Hi all!
I am trying to register a device in an existing device class, but I am
having trouble getting the pointer to an existing class.
I can create a class in a module, get the pointer to it and then use
it to register the device with:
*cl = class_create(THIS_MODULE, className);... (0 Replies)
Discussion started by: hdaniel@ualg.pt
0 Replies
8. Programming
I have the two class definition as follows.
class A { public: int a; };
class B : virtual public A{ };
The size of class A is shown as 4, and size of class B is shown as 16. Why is this effect ?. (2 Replies)
Discussion started by: techmonk
2 Replies
9. Programming
Hello All,
I am a learner in C++. I was testing my inheritance knowledge with following piece of code.
#include <iostream>
using namespace std;
class base
{
public :
void display()
{
cout << "In base display()" << endl;
}
void display(int k)
{... (2 Replies)
Discussion started by: anand.shah
2 Replies
10. Programming
const int VALUES = {7,4,2,1,0}; //or int VALUES = {7,4,2,1,0};this statement inside a class definition gives error. Why? (3 Replies)
Discussion started by: milhan
3 Replies
LEARN ABOUT OPENSOLARIS
demangle
demangle(3EXT) Extended Library Functions demangle(3EXT)
NAME
demangle, cplus_demangle - decode a C++ encoded symbol name
SYNOPSIS
cc [ flag ... ] file[ library ... ] -ldemangle
#include <demangle.h>
int cplus_demangle(const char *symbol, char *prototype, size_t size);
DESCRIPTION
The cplus_demangle() function decodes (demangles) a C++ linker symbol name (mangled name) into a (partial) C++ prototype, if possible.
C++ mangled names may not have enough information to form a complete prototype.
The symbol string argument points to the input mangled name.
The prototype argument points to a user-specified output string buffer, of size bytes.
The cplus_demangle() function operates on mangled names generated by SPARCompilers C++ 3.0.1, 4.0.1, 4.1 and 4.2.
The cplus_demangle() function improves and replaces the demangle() function.
Refer to the CC.1, dem.1, and c++filt.1 manual pages in the /opt/SUNWspro/man/man1 directory. These pages are only available with the
SPROcc package.
RETURN VALUES
The cplus_demangle() function returns the following values:
0 The symbol argument is a valid mangled name and prototype contains a (partial) prototype for the symbol.
DEMANGLE_ENAME The symbol argument is not a valid mangled name and the content of prototype is a copy of the symbol.
DEMANGLE_ESPACE The prototype output buffer is too small to contain the prototype (or the symbol), and the content of prototype is unde-
fined.
SunOS 5.11 11 Mar 1997 demangle(3EXT)