Help | Site Map
Connecting Tech Pros Worldwide
 
 
LinkBack Thread Tools
  #1  
Old January 5th, 2007, 09:35 AM
rajasekaran.psg@gmail.com
Guest
 
Posts: n/a
Default how to access a private member function without using friend and virtual

hi there,

i am a Rajasekaran, a final yr it student,, i am having a doubt
regarding the above subject can you guys help me out,,

eg:

class A
{
private:
void show() {cout<<"Private function called";} //
this is the function i need to be called

// dont change the class..
};

  #2  
Old January 5th, 2007, 09:45 AM
Rolf Magnus
Guest
 
Posts: n/a
Default Re: how to access a private member function without using friend and virtual

rajasekaran.psg@gmail.com wrote:
Quote:
hi there,
>
i am a Rajasekaran, a final yr it student,, i am having a doubt
regarding the above subject can you guys help me out,,
>
eg:
>
class A
{
private:
void show() {cout<<"Private function called";} //
this is the function i need to be called
>
// dont change the class..
};
Why?

  #3  
Old January 5th, 2007, 10:15 AM
Ondra Holub
Guest
 
Posts: n/a
Default Re: how to access a private member function without using friend and virtual

rajasekaran.psg@gmail.com napsal:
Quote:
hi there,
>
i am a Rajasekaran, a final yr it student,, i am having a doubt
regarding the above subject can you guys help me out,,
>
eg:
>
class A
{
private:
void show() {cout<<"Private function called";} //
this is the function i need to be called
>
// dont change the class..
};
Hi. This function is private to prevent its call from outside of class
A. There is no clean way how to call this function.

You could do a dirty hack:

#define private public
class A
{
private:
void show() {cout<<"Private function called";} //
};
#undef private

But it is not actually "not changing" the class.

Nobody should attempt to call private function directly - 'private' is
there to prevent it. As class user you should forget, that any private
function even exists, because it may require some special
pre-/postcondition to be fulfilled before/after it is called.

 

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over network members.
Post your question now . . .
It's fast and it's free

Popular Articles