creating alias for a class object

K

KK

Hi,
How can I create alias for a class object? Please go thru this
program to understand the motivation.

Class Name;
Class Country{
Name list[10];
/*My intension is to have:
list[0] - usa
list[1] - uk
list[2] - ..
*/
//define other essential member functions
void PrintMyself (void );
}
void Country::printMyself()
{
for (int i=0;i<10;i++)
//print the entire array :: makes my life so easy with
indexing
}
void somefunc(Country& ex)
{
Name usa_country;
usa_country =ex.list[0]; //indexing is no good here - I wish I had
the alias for list[0] as usa
}
Hoping to get the answer.
Thank you.
KK
 
R

Ron Natalie

KK said:
Hi,
How can I create alias for a class object? Please go thru this
program to understand the motivation.

Class Name;
Class Country{
Name list[10];
/*My intension is to have:
list[0] - usa
list[1] - uk
list[2] - ..
*/
//define other essential member functions
void PrintMyself (void );
}
void Country::printMyself()
{
for (int i=0;i<10;i++)
//print the entire array :: makes my life so easy with
indexing
}
void somefunc(Country& ex)
{
Name usa_country;
usa_country =ex.list[0]; //indexing is no good here - I wish I had
the alias for list[0] as usa
}
Hoping to get the answer.
Thank you.
KK

Well you've not really succinctly defined the problem. You could just
do
#define usa ex.list[0]

but I suspect that's not what you're after.

If you sant to map the string "usa" into one of your Name classes,
how about a std::map?

map<string, Name> list;
list["usa"] = //...
list["uk"] = /...

Name usa_country = list["usa"];
 
M

Marcus Kwok

KK said:
Hi,
How can I create alias for a class object? Please go thru this
program to understand the motivation.

Class Name;
Class Country{
Name list[10];
/*My intension is to have:
list[0] - usa
list[1] - uk
list[2] - ..
*/
//define other essential member functions
void PrintMyself (void );
} [snip]
void somefunc(Country& ex)
{
Name usa_country;
usa_country =ex.list[0]; //indexing is no good here - I wish I had
the alias for list[0] as usa
}

The way you have it, list is private, and somefunc() has not been
declared as a friend.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top