Click here to Skip to main content
15,916,941 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
Questionhelp me marshelling related question? Pin
imran_rafique10-Jun-03 14:47
imran_rafique10-Jun-03 14:47 
GeneralDLL Question Pin
Bert Tuyt10-Jun-03 11:28
Bert Tuyt10-Jun-03 11:28 
GeneralSplitter Pin
vadimpl10-Jun-03 11:04
vadimpl10-Jun-03 11:04 
GeneralRe: Splitter Pin
basementman10-Jun-03 11:42
basementman10-Jun-03 11:42 
GeneralMFC open dialog enhancement Pin
IGeorgeI10-Jun-03 10:29
IGeorgeI10-Jun-03 10:29 
GeneralRe: MFC open dialog enhancement Pin
David Crow10-Jun-03 10:39
David Crow10-Jun-03 10:39 
GeneralRe: MFC open dialog enhancement Pin
IGeorgeI10-Jun-03 11:26
IGeorgeI10-Jun-03 11:26 
GeneralCompiler generated assignment operator= question Pin
Damir Valiulin10-Jun-03 9:32
Damir Valiulin10-Jun-03 9:32 
Suppose I have a class with a few member variables, and one of them is a CArray object, e.g.:

CMyClass {
...
private:
  int var1, var2, var3;
  bool flag1, flag2, flag3;
  CArray <int,int&> arSomeArray;
};


If I didn't have that CArray member, I could simply write:

CMyClass a, b;
a = b;


The assignment operator would be simply generated by compiler. But when CArray is there, compiler cannot generate default assigment operator, so I have to add to the class:

CMyClass& operator= (CMyClass& src){
  var1 = src.var1;
  var2 = src.var2;
  var3 = src.var3;
  flag1 = src.flag1;
  flag2 = src.flag2;
  flag3 = src.flag3;
  arSomArray.Copy (src.arSomeArray);
  return *this;
}


Not only that it is very tedious writing a few dozen of "x = src.x", it is also prone to bugs. Like later I will add a variable to the class and might forget to add it to the operator= function.

Is there a way to write something like below?

CMyClass& operator= (CMyClass& src){
  dear_compiler_do_what_you_can_with_all_the_variables_i_ll_take_care_of_the_rest();
  arSomArray.Copy (src.arSomeArray);
  return *this;
}


Thanks
GeneralRe: Compiler generated assignment operator= question Pin
Ryan_Roberts10-Jun-03 9:38
Ryan_Roberts10-Jun-03 9:38 
GeneralRe: Compiler generated assignment operator= question Pin
John M. Drescher10-Jun-03 9:51
John M. Drescher10-Jun-03 9:51 
GeneralRe: Compiler generated assignment operator= question Pin
Damir Valiulin10-Jun-03 10:12
Damir Valiulin10-Jun-03 10:12 
GeneralRe: Compiler generated assignment operator= question Pin
John M. Drescher10-Jun-03 10:18
John M. Drescher10-Jun-03 10:18 
GeneralRe: Compiler generated assignment operator= question Pin
Dave Bryant10-Jun-03 10:00
Dave Bryant10-Jun-03 10:00 
GeneralRe: Compiler generated assignment operator= question Pin
Damir Valiulin10-Jun-03 10:21
Damir Valiulin10-Jun-03 10:21 
GeneralRe: Compiler generated assignment operator= question Pin
Dave Bryant10-Jun-03 10:24
Dave Bryant10-Jun-03 10:24 
GeneralRe: Compiler generated assignment operator= question Pin
Dean Goodman10-Jun-03 10:21
Dean Goodman10-Jun-03 10:21 
GeneralRe: Compiler generated assignment operator= question Pin
Damir Valiulin10-Jun-03 11:58
Damir Valiulin10-Jun-03 11:58 
GeneralRe: Compiler generated assignment operator= question Pin
John M. Drescher10-Jun-03 10:34
John M. Drescher10-Jun-03 10:34 
GeneralRe: Compiler generated assignment operator= question Pin
Damir Valiulin10-Jun-03 11:55
Damir Valiulin10-Jun-03 11:55 
GeneralRe: Compiler generated assignment operator= question Pin
John M. Drescher10-Jun-03 13:14
John M. Drescher10-Jun-03 13:14 
GeneralSerialize() Pin
RubenJ10-Jun-03 9:23
RubenJ10-Jun-03 9:23 
GeneralRe: Serialize() Pin
John M. Drescher10-Jun-03 9:27
John M. Drescher10-Jun-03 9:27 
GeneralRe: Serialize() Pin
RubenJ10-Jun-03 10:36
RubenJ10-Jun-03 10:36 
GeneralRe: Serialize() Pin
Navin10-Jun-03 10:51
Navin10-Jun-03 10:51 
GeneralRe: Serialize() Pin
RubenJ10-Jun-03 11:18
RubenJ10-Jun-03 11:18 

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.