Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > C - C++ Learning > Re: Still havin...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 5 of 14 Topic 4050 of 4262
Post > Topic >>

Re: Still having problems with my member function pointers

by "Alf P. Steinbach" <alfps@[EMAIL PROTECTED] > Mar 6, 2008 at 05:49 PM

* Andrew Falanga:
> On Mar 6, 9:27 am, "Alf P. Steinbach" <al...@[EMAIL PROTECTED]
> wrote:
>> * Andrew Falanga:
>>
>>
>>
>>>  About two weeks ago (or so) I posted here that I was having problems
>>> with getting a member function pointer to point to a member function
>>> without giving me grief.
>> Yes, as a novice you should not use member functions /at all/.
>>
>>
>>
>>> I've gone to trying this on a trial program
>>> that I will post below in its entirety.  I just can't get it right and
>>> although I've tried the suggestions given to me from the other
>>> posting, I'm still doing something wrong.  So, here's my test program:
>>> #include <iostream>
>>> class base {
>>>    int somedata;
>>>    public:
>>>    base();
>>>    int GetData() {
>>>       return somedata;
>>>    }
>>>    int (base::*ptrMemFunc)();
>>> };
>>> base::base() : somedata(5), ptrMemFunc(&base::GetData)
>>> {}
>>> // this one's only in here to make sure I remembered how to use
>>> function pointers
>>> int AnInt() {
>>>    return 5;
>>> }
>>> int main( ) {
>>>    base b;
>>>    int (*pAnInt)() = AnInt;
>>>    std::cout << pAnInt() << std::endl;
>>>    b.ptrMemFunc();
>> "b.ptrMemFunc" is an expression that refers to a non-static member
function pointer.
>>
>> "()" tries to call the referred non-static member function, without
specifying
>> an object.
>>
> 
> Doesn't the "b." reference an object?

It does.  But it's unrelated to the call.  The call "()" operates on the
entire 
expression.

See DES^3 posting else-thread for appropriate syntax.

But don't use it.  Use virtual member functions instead.  Be advised that
member 
function pointers are at the level of "goto": they allow you to do very
risky 
things, and the compiler won't complain (it is the C++ principle of
letting the 
programmer do whatever's needed, even if it doesn't look good to the
compiler).


Cheers, & hth.,

- Alf

-- 
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
 




 14 Posts in Topic:
Still having problems with my member function pointers
Andrew Falanga <af300w  2008-03-06 07:45:14 
Re: Still having problems with my member function pointers
"Alf P. Steinbach&qu  2008-03-06 17:27:18 
Re: Still having problems with my member function pointers
Triple-DES <DenPlettfr  2008-03-06 08:39:26 
Re: Still having problems with my member function pointers
Andrew Falanga <af300w  2008-03-06 08:41:02 
Re: Still having problems with my member function pointers
"Alf P. Steinbach&qu  2008-03-06 17:49:40 
Re: Still having problems with my member function pointers
Andrew Falanga <af300w  2008-03-06 08:56:09 
Re: Still having problems with my member function pointers
"Alf P. Steinbach&qu  2008-03-06 19:19:36 
Re: Still having problems with my member function pointers
Triple-DES <DenPlettfr  2008-03-06 09:07:53 
Re: Still having problems with my member function pointers
Bart van Ingen Schenau &l  2008-03-06 18:49:13 
Re: Still having problems with my member function pointers
Andrew Falanga <af300w  2008-03-06 10:04:26 
Re: Still having problems with my member function pointers
Triple-DES <DenPlettfr  2008-03-06 10:57:45 
Re: Still having problems with my member function pointers
Andrew Falanga <af300w  2008-03-06 11:43:17 
Re: Still having problems with my member function pointers
Andrew Falanga <af300w  2008-03-06 11:47:30 
Re: Still having problems with my member function pointers
Triple-DES <DenPlettfr  2008-03-06 22:03:46 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Fri Sep 5 2:47:44 CDT 2008.