Click here to Skip to main content
15,924,036 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: XP Buttons on non grey backgrounds Pin
khan++10-May-05 2:27
khan++10-May-05 2:27 
GeneralRe: XP Buttons on non grey backgrounds Pin
Jörgen Sigvardsson10-May-05 2:49
Jörgen Sigvardsson10-May-05 2:49 
GeneralRe: XP Buttons on non grey backgrounds Pin
Jörgen Sigvardsson10-May-05 3:06
Jörgen Sigvardsson10-May-05 3:06 
Generalrecv problem Pin
srev10-May-05 1:26
srev10-May-05 1:26 
GeneralVirtual function problem! Pin
Bob Stanneveld10-May-05 0:11
Bob Stanneveld10-May-05 0:11 
GeneralRe: Virtual function problem! Pin
Cedric Moonen10-May-05 0:28
Cedric Moonen10-May-05 0:28 
GeneralRe: Virtual function problem! Pin
Bob Stanneveld10-May-05 1:09
Bob Stanneveld10-May-05 1:09 
GeneralRe: Virtual function problem! Pin
Cedric Moonen10-May-05 1:34
Cedric Moonen10-May-05 1:34 
Bob Stanneveld wrote:
No, the purpose of virtual functions is that the correct function is called when the exact type of a class is not known. For exemple:

class A
{
public:
virtual void Foo() {}
};

class B
{
public:
virtual void Foo() {}
};

A* pA = new B;
pA->Foo(); // calls B::Foo


This won't work the compiler will complain because it cannot cast from B* to A*. What you need to add in your code is that B derives from A and that's exactly the same explanation I gave you. Virtual functions are used only with inheritance.


Bob Stanneveld wrote:
What do you mean by that, calling the function directly. If you mean that I should cast to the derived type, I cannot. This is because I don't know which one of the infinitly amount of possible derived classes would be calling the function.

As you explained above, when you have this code:

class A<br />
{ <br />
public:<br />
virtual void Foo() {}<br />
};<br />
<br />
class B : public A<br />
{<br />
public:<br />
virtual void Foo() {}<br />
};<br />
<br />
A* pA = new B;<br />
pA->Foo(); // calls B::Foo


You don't need to know the type of child class at compile time. The correct derived function will automatically be called.


Bob Stanneveld wrote:
I have a couple of dozen lines that are identical for every case, but the implementation of a function in the middle of those lines is user specific

Ok, now I understand a little bit better the problem and what you want to achieve. But unfortunately, if you want to do that, you will need to know the type of the class in which you want to cast. Also, I think there is a missing part in your code with the static_cast operator (the text between the < > was removed). I think you'll need to post it again because it is the most important part of the code Wink | ;)
GeneralRe: Virtual function problem! Pin
S. Senthil Kumar10-May-05 1:43
S. Senthil Kumar10-May-05 1:43 
GeneralRe: Virtual function problem! Pin
Cedric Moonen10-May-05 2:01
Cedric Moonen10-May-05 2:01 
GeneralRe: Virtual function problem! Pin
S. Senthil Kumar10-May-05 2:14
S. Senthil Kumar10-May-05 2:14 
GeneralRe: Virtual function problem! Pin
Tim Smith12-May-05 4:01
Tim Smith12-May-05 4:01 
GeneralRe: Virtual function problem! Pin
S. Senthil Kumar10-May-05 1:10
S. Senthil Kumar10-May-05 1:10 
GeneralRe: Virtual function problem! Pin
Bob Stanneveld10-May-05 1:14
Bob Stanneveld10-May-05 1:14 
GeneralRe: Virtual function problem! Pin
S. Senthil Kumar10-May-05 1:19
S. Senthil Kumar10-May-05 1:19 
GeneralRe: Virtual function problem! Pin
Bob Stanneveld10-May-05 1:51
Bob Stanneveld10-May-05 1:51 
GeneralRe: Virtual function problem! Pin
S. Senthil Kumar10-May-05 2:05
S. Senthil Kumar10-May-05 2:05 
GeneralRe: Virtual function problem! Pin
Bob Stanneveld10-May-05 2:15
Bob Stanneveld10-May-05 2:15 
GeneralRe: Virtual function problem! Pin
S. Senthil Kumar10-May-05 2:20
S. Senthil Kumar10-May-05 2:20 
GeneralRe: Virtual function problem! Pin
Bob Stanneveld10-May-05 3:07
Bob Stanneveld10-May-05 3:07 
Generalwhat's the use of adding __declspec(uuid(&quot;.....&quot;)) in a struct Pin
HeartFriend10-May-05 0:08
HeartFriend10-May-05 0:08 
GeneralRe: what's the use of adding __declspec(uuid(&quot;.....&quot;)) in a struct Pin
ThatsAlok10-May-05 1:06
ThatsAlok10-May-05 1:06 
GeneralRe: what's the use of adding __declspec(uuid(&quot;.....&quot;)) in a struct Pin
HeartFriend10-May-05 15:35
HeartFriend10-May-05 15:35 
GeneralRe: what's the use of adding __declspec(uuid(&quot;.....&quot;)) in a struct Pin
ThatsAlok10-May-05 22:41
ThatsAlok10-May-05 22:41 
GeneralC code for a GUI Pin
guillaume.dauphin9-May-05 23:32
guillaume.dauphin9-May-05 23:32 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.