|
I would implement this using Boost.Function[^] and Boost.Bind[^]:
In class B, declare display like this:
boost::function<void(char*)> display;
in A, set b.display like this:
B b;
b.display = boost::bind(&A::display, this);
in B, call it like this:
if (display) display(whatever string you want to display
The if (display) bit is to protect you against the case that nothing's been assigned to B::display.
Here's a complete, buildable and runnable example:
#include <iostream>
#include <boost/bind.hpp>
#include <boost/function.hpp>
class B
{
public:
boost::function<void(char*)> display;
void b_test() { if (display) display("test"); }
};
class A
{
public:
A() { b.display = boost::bind(&A::display, this, _1); }
void a_test() { b.b_test(); }
void display(char* s) { std::cout << s << std::endl; }
B b;
};
int main()
{
A a;
a.a_test();
}
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Stuart Dootson wrote: I would implement this using Boost.Function[^] and Boost.Bind[^]:
The Visual C++ 2008 Feature Pack has implemented TR1[^]
Although, I would prefer using interfaces as Stephen Hewitt posted.
|
|
|
|
|
led mike wrote: The Visual C++ 2008 Feature Pack has implemented TR1[^]
Caught me - I've not got used to having TR1 yet. Also, TR1 doesn't have Boost.Bind in it (or Boost.Lambda, for that matter - even more )
led mike wrote: Although, I would prefer using interfaces as Stephen Hewitt posted.
Fair enough - each approach has its own benefits and drawbacks.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Stuart Dootson wrote: Also, TR1 doesn't have Boost.Bind in it Frown (or Boost.Lambda, for that matter - even more Frown)
Well no, there is no Boost namespace but those features are in TR1.
|
|
|
|
|
So it is (Boost.Bind equivalent, that is)! Well, you learn something new every day!
So, come VS2010, when C++0x lambdas are available, I'll be well happy
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Stuart Dootson wrote: lambdas are available
Yeah, I suppose that's a good thing, we'll see.
|
|
|
|
|
Stuart Dootson wrote: Well, you learn something new every day!
Get in times Stuart!
of course I knew nothing about...
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Why do you want to follow a very plain-C path? You know, C++ is a fully featured OOP launguage.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
You are right, thanks, perhaps I am thinking too much in C
ARSALAN MALIK
|
|
|
|
|
Hi!
We are making a MFC app with VS2005 (C++).
In the GUI, sometimes the edges of certain controls (a CRichEditCtrl and a CListCtrl) are not redrawn properly.
Instead of the 3D effect border, there is no border. So the CRichEditCtrl is drawn as a simple white rectangle
on the gray background. Same with the CListCtrl (the border is missing).
Covering the app windows with some other window, then moving it away, makes the missing borders draw. But only in the parts, that were covered. The rest is still missing.
I am not sure how to reproduce this, so I can not make a screenshot. Hopefully this is a well known programmer error
Thanks for any hint,
David
|
|
|
|
|
Hi All,
is there any free ware for code analysis to check memory leak, dead code.. etc.
like coverity tool.
please give me the name and where to get it ..(free ware)..
thank you in advance..
|
|
|
|
|
|
Please see Valgrind. It is free tool to analyze code for all sort of errors including memory leaks, dead code etc. However, it is available for linux only
ARSALAN MALIK
|
|
|
|
|
ya valgrind i know its for only unix..i want for windows..any other tool..?
|
|
|
|
|
|
Hi,
i wrote an activeX control and i need to use it in html file which is in webserver.And when any client tries to access the html file he
should be able to download the activeX control...
Please help me how to achieve the same..
|
|
|
|
|
I believe you are asking the wrong forum here, try the Web Development[^] forum or just use Google[^].
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Life: great graphics, but the gameplay sux. <
|
|
|
|
|
Hi there,
I've been searching the net flat for articles on how to host a Java application within an MFC form / dialog. I have found an article on Code Project on how to host a Java Bean within an MFC dialog, but i am unable to get the same code to work with a full blown Java application.
My question is this:
Is hosting a Java application at all possible within MFC using the JNI? If so, does anyone know any good articles or links that could help assist?
I just need to know that it is possible before i attempt to burn some midnight oil on getting the example of the Java bean to work with a Java application.
Thanks.
|
|
|
|
|
What do you mean by "hosting" exactly ? If you simply need to execute it from your MFC program (as a standalone application), then you can simply use CreateProcess. If you need to render the user interface (if any) of your Java application inside an MFC window, I'm afraid this is not possible.
|
|
|
|
|
Hi All
How can i get Folder create time?I want to know when folder(like folder A) was create?Plz help me
|
|
|
|
|
See WIN32_FIND_DATA structure - FILETIME ftCreationTime i.e. the second parameter
You need to google first, if you have "It's urgent please" mentioned in your question.
_AnShUmAn_
|
|
|
|
|
GetFileTime[^] (Win32 API)
stat[^] (C run-time library)
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Hi Guys
I am a c++_ coder got in vc++ and MFC recently
I want to make a programme which takes input on a UI dialog (what a cin
does in console) and (display the output cout in console) and display same in a dialog
Suggest me readings and references or a smaple code
Regards
Amit
|
|
|
|
|
I would suggest you to buy a good book on MFC. You can take the input in an edit box and display it anywhere you wish.
You need to google first, if you have "It's urgent please" mentioned in your question.
_AnShUmAn_
|
|
|
|
|
hi
If u are using MFC...you can do the following
Cin:
1)Put some controls in dialogbox like textbox etc.
2)Bind variables to that controls
3)When somebody types into that text control ,you can get the values into the variables using unctions like UpdateWindow etc
Cout:
1)You can put a static control on dialog and display message(use SetWindowText API)
2)Use a Simple MessageBox
3)Draw Text on the dialog (not needed here)
some links:
http://www.flounder.com/getdlgitem.htm[^]
http://msdn.microsoft.com/en-us/library/86kdbbs8.aspx[^]
Hope that helps
"Every morning I go through Forbes list of 40 richest people in the world. If my name is not in there, I go to work..!!!"
|
|
|
|