Click here to Skip to main content
15,559,732 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Static OwnerDraw SS_OWNERDRAW DrawItem not being called Pin
Victor Nijegorodov7-Feb-22 23:49
Victor Nijegorodov7-Feb-22 23:49 
GeneralRe: Static OwnerDraw SS_OWNERDRAW DrawItem not being called Pin
Richard MacCutchan8-Feb-22 0:39
mveRichard MacCutchan8-Feb-22 0:39 
AnswerRe: Static OwnerDraw SS_OWNERDRAW DrawItem not being called Pin
Victor Nijegorodov7-Feb-22 23:42
Victor Nijegorodov7-Feb-22 23:42 
GeneralRe: Static OwnerDraw SS_OWNERDRAW DrawItem not being called Pin
ForNow8-Feb-22 2:23
ForNow8-Feb-22 2:23 
GeneralRe: It gets called at the end of the OnInitDialog Pin
ForNow8-Feb-22 12:25
ForNow8-Feb-22 12:25 
Questionways to write code for a class Pin
Calin Negru6-Feb-22 8:43
Calin Negru6-Feb-22 8:43 
AnswerRe: ways to write code for a class Pin
Mircea Neacsu6-Feb-22 10:15
Mircea Neacsu6-Feb-22 10:15 
AnswerRe: ways to write code for a class Pin
Greg Utas6-Feb-22 11:16
mveGreg Utas6-Feb-22 11:16 
To add to what Mircea said, function definitions (implementations) usually go in a .cpp for two reasons:
  1. By default, a header is recompiled each time that a .cpp #includes it, so defining large functions in headers can really slow down a compile. Some compilers optimize this, but it isn't guaranteed.
  2. A header should be an interface, with implementation details going in a .cpp rather than cluttering the header.
However, there are two situations when function definitions go in a header:
  1. If a function is simple, usually just a single line, it's expedient to just define it in the header.
  2. A function template, or a function in a class template, is defined in a header.
As far as where to define functions is concerned, I prefer to define each class in its own header (Class.h) and implement its functions in Class.cpp. This isn't mandatory, because the .h and .cpp are not compiled into a single binary. Each .cpp, along with all the headers that it #includes, is compiled into its own binary, after which the linker merges them all.

Some C++ gurus say there is no rationale for putting each class in its own .h and .cpp. They're wrong, but there are exceptions:
  1. A "helper" class (used only to implement another one) can be defined in the same .cpp as the only class that uses it.
  2. Small, related classes can be defined in a common .h and implemented in a common .cpp.
However, each important class gets its own .h and .cpp. This makes code easy to find, even outside the IDE. Besides, anything else is arbitrary; no one would suggest that one big .cpp is good for a project with 10,000+ lines of code. Some kind of organization is needed, and the approach that I've described is the obvious one.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.

GeneralRe: ways to write code for a class Pin
Calin Negru7-Feb-22 0:28
Calin Negru7-Feb-22 0:28 
QuestionC++ Pin
Naveenkumarreddy Ramireddy6-Feb-22 7:44
Naveenkumarreddy Ramireddy6-Feb-22 7:44 
AnswerRe: C++ Pin
trønderen6-Feb-22 9:00
trønderen6-Feb-22 9:00 
AnswerRe: C++ Pin
Victor Nijegorodov6-Feb-22 9:50
Victor Nijegorodov6-Feb-22 9:50 
AnswerRe: C++ Pin
Artem Moroz8-Feb-22 10:19
Artem Moroz8-Feb-22 10:19 
QuestionRichEdit Streamin SF_TEXT not appearing Pin
ForNow30-Jan-22 15:58
ForNow30-Jan-22 15:58 
AnswerRe: RichEdit Streamin SF_TEXT not appearing Pin
Victor Nijegorodov30-Jan-22 21:43
Victor Nijegorodov30-Jan-22 21:43 
GeneralRe: RichEdit Streamin SF_TEXT not appearing Pin
ForNow30-Jan-22 21:48
ForNow30-Jan-22 21:48 
GeneralRe: RichEdit Streamin SF_TEXT not appearing CODE POSTED !!!!! Pin
ForNow31-Jan-22 2:32
ForNow31-Jan-22 2:32 
GeneralRe: RichEdit Streamin SF_TEXT not appearing CODE POSTED !!!!! Pin
Victor Nijegorodov31-Jan-22 2:45
Victor Nijegorodov31-Jan-22 2:45 
GeneralRe: RichEdit Streamin SF_TEXT not appearing CODE POSTED !!!!! Pin
ForNow31-Jan-22 3:11
ForNow31-Jan-22 3:11 
GeneralRe: RichEdit Streamin SF_TEXT not appearing CODE POSTED !!!!! Pin
Victor Nijegorodov31-Jan-22 3:17
Victor Nijegorodov31-Jan-22 3:17 
GeneralRe: RichEdit Streamin SF_TEXT not appearing CODE POSTED !!!!! Pin
ForNow31-Jan-22 3:31
ForNow31-Jan-22 3:31 
GeneralRe: RichEdit Streamin SF_TEXT not appearing CODE POSTED !!!!! Pin
Victor Nijegorodov31-Jan-22 11:34
Victor Nijegorodov31-Jan-22 11:34 
GeneralRe: RichEdit Streamin SF_TEXT not appearing CODE POSTED !!!!! Pin
ForNow31-Jan-22 11:39
ForNow31-Jan-22 11:39 
GeneralRe: RichEdit Streamin SF_TEXT not appearing CODE POSTED !!!!! Pin
Victor Nijegorodov31-Jan-22 11:52
Victor Nijegorodov31-Jan-22 11:52 
GeneralRe: RichEdit Streamin SF_TEXT not appearing CODE POSTED !!!!! Pin
ForNow31-Jan-22 12:00
ForNow31-Jan-22 12:00 

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.