Click here to Skip to main content
15,910,787 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: Static linking Pin
Garth J Lancaster2-Nov-14 22:37
professionalGarth J Lancaster2-Nov-14 22:37 
AnswerRe: Static linking Pin
Richard MacCutchan2-Nov-14 23:09
mveRichard MacCutchan2-Nov-14 23:09 
AnswerRe: Static linking Pin
Albert Holguin3-Nov-14 11:31
professionalAlbert Holguin3-Nov-14 11:31 
GeneralRe: Static linking Pin
Member 112017883-Nov-14 23:31
Member 112017883-Nov-14 23:31 
AnswerRe: Static linking Pin
Albert Holguin4-Nov-14 4:24
professionalAlbert Holguin4-Nov-14 4:24 
QuestionTemplate Class Pointer - Would like explanation for unexpected behavior Pin
Foothill2-Nov-14 8:01
professionalFoothill2-Nov-14 8:01 
AnswerRe: Template Class Pointer - Would like explanation for unexpected behavior Pin
Richard MacCutchan2-Nov-14 8:13
mveRichard MacCutchan2-Nov-14 8:13 
GeneralRe: Template Class Pointer - Would like explanation for unexpected behavior Pin
Foothill2-Nov-14 8:44
professionalFoothill2-Nov-14 8:44 
AnswerRe: Template Class Pointer - Would like explanation for unexpected behavior Pin
Freak303-Nov-14 2:50
Freak303-Nov-14 2:50 
GeneralRe: Template Class Pointer - Would like explanation for unexpected behavior Pin
Foothill3-Nov-14 5:59
professionalFoothill3-Nov-14 5:59 
GeneralRe: Template Class Pointer - Would like explanation for unexpected behavior Pin
the_foobar3-Dec-14 20:26
the_foobar3-Dec-14 20:26 
AnswerRe: Template Class Pointer - Would like explanation for unexpected behavior Pin
Volynsky Alex4-Nov-14 23:12
professionalVolynsky Alex4-Nov-14 23:12 
QuestionERROR No Target Architecture Pin
ForNow1-Nov-14 17:05
ForNow1-Nov-14 17:05 
SuggestionRe: ERROR No Target Architecture Pin
Richard MacCutchan1-Nov-14 22:03
mveRichard MacCutchan1-Nov-14 22:03 
GeneralRe: ERROR No Target Architecture Pin
ForNow2-Nov-14 4:04
ForNow2-Nov-14 4:04 
GeneralRe: ERROR No Target Architecture Pin
Richard MacCutchan2-Nov-14 5:49
mveRichard MacCutchan2-Nov-14 5:49 
QuestionHow to protect a member function Pin
Drugodrf31-Oct-14 4:35
Drugodrf31-Oct-14 4:35 
AnswerRe: How to protect a member function Pin
Jochen Arndt31-Oct-14 5:18
professionalJochen Arndt31-Oct-14 5:18 
AnswerRe: How to protect a member function Pin
Chris Losinger31-Oct-14 5:18
professionalChris Losinger31-Oct-14 5:18 
GeneralRe: How to protect a member function Pin
Drugodrf3-Nov-14 2:31
Drugodrf3-Nov-14 2:31 
AnswerRe: How to protect a member function Pin
Albert Holguin3-Nov-14 11:39
professionalAlbert Holguin3-Nov-14 11:39 
AnswerRe: How to protect a member function Pin
Aescleal4-Nov-14 2:29
Aescleal4-Nov-14 2:29 
(Bit late to the party... still think this is worth saying and it might help you in future)

If you ever find yourself wanting to use a class but there's aspects of it's interface that you don't want to work with then don't try and modify the class you want to use - that way lies madness and hackiness of the first degree. If the class with the relatively fat interface really needs a big interface somewhere else you don't want to break that. So what can you do about it? Wheel out the software engineer's swiss army knife - another level of indirection!

So if you've got a class:

C++
class fat_and_dangerous
{
	public:
		void safe();
		void dangerous();
};


and don't want clients to use dangerous() implement another class using it:

C++
class skinny_and_safe
{
	public:
		skinny_and_safe() : fat_( new fat_and_dangerous ) {}

		void safe() { fat_->safe(); }

	private:
		std::unique_ptr<fat_and_dangerous> fat_;
}


and in most of your client code only use skinny_and_safe.

Just out of interest... don't actually implement skinny_and_safe inline. It leaks too many implementation details to the client. Don't worry about performance - most compilers (actually linkers working with compilers) these days will elide the indirect call - until a profiler tells you that it's slow.
GeneralRe: How to protect a member function Pin
Drugodrf4-Nov-14 7:41
Drugodrf4-Nov-14 7:41 
GeneralRe: How to protect a member function Pin
Aescleal4-Nov-14 21:27
Aescleal4-Nov-14 21:27 
QuestionI can't figure out why my program is not running Pin
Member 1119464630-Oct-14 18:47
Member 1119464630-Oct-14 18:47 

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.