cppfuncm.sct

来自「c#设计模式WithCla」· SCT 代码 · 共 54 行

SCT
54
字号
//////////////////////////TRUNCATE_EIGHT$CLASS_NAME.cpp file////////////////////////////////////

#include "TRUNCATE_EIGHT$CLASS_NAME.h"                  

SELECT_WHEN ATTRIBUTE_IS_STATIC
[ATTRIBUTE_TYPE CLASS_NAME$::$ATTRIBUTE_NAME = ATTRIBUTE_INITIAL_VALUE$; //Static data member initialization]

	//Default constructor alternative to compiler provided default constructor
	//Association object data member pointers initialized to null association object NO_OUTPUT_BEGIN
	//Ensure correct initial values are entered in the Attribute Specification NO_OUTPUT_END
CLASS_NAME::CLASS_NAME ()
SELECT_WHEN LOGICAL_NOT ATTRIBUTE_IS_STATIC [NO_RETURN NO_REPEAT: ATTRIBUTE_NAME(ATTRIBUTE_INITIAL_VALUE),DELETE_LAST_SYMBOL]
{   [ASSOCIATION_ONE_NAME = &null$ASSOCIATION_ONE_CLASS; //Initialization to null association object ]
    [AGGREGATION_MANY_NAME$Index = 0; //Index for array of 1:M aggregation part objects ]
    [ASSOCIATION_MANY_NAME$Index = 0; //Index for array of 1:M association objects ]
	 //Initialization of array of 1:M association objects to null association objects
    [for ( int i = 0; i < maxNumberOf$ASSOCIATION_MANY_CLASS$s; i++) ASSOCIATION_MANY_NAME LITERAL_SYMBOL[i LITERAL_SYMBOL] = &null$ASSOCIATION_MANY_CLASS; ]
} 

	//Operator= Assignment Operator alternative to compiler provided operator=  NO_OUTPUT_BEGIN
	//Assignment alternatives for association objects: (1) initialize association object to nullAssociation Object
	//(2) Shallow copy to copy pointers to association objects (3) Deep copy to copy value of association objects
	//Commented out code copies pointers for 1:1 and 1:M association object data members for shallow copy NO_OUTPUT_END
CLASS_NAME& CLASS_NAME::operator= (const CLASS_NAME$& a$CLASS_NAME)
{ if (this == &a$CLASS_NAME) return *this;
  int i = 0; 
[  BASE_CLASS$::operator= (a$CLASS_NAME);]
SELECT_WHEN ATTRIBUTE_IS_NORMAL [ ATTRIBUTE_NAME = a$CLASS_NAME$.$ATTRIBUTE_NAME;]
[  AGGREGATION_ONE_NAME = a$CLASS_NAME$.$AGGREGATION_ONE_NAME;]
[  ASSOCIATION_ONE_NAME = &null$ASSOCIATION_ONE_CLASS; //Initialization to null association object ]
[  // ASSOCIATION_ONE_NAME = a$CLASS_NAME$.$ASSOCIATION_ONE_NAME;//Commented out shallow copy]  
[  for (i = 0; i < maxNumberOf$AGGREGATION_MANY_CLASS$s; i++) AGGREGATION_MANY_NAME LITERAL_SYMBOL[i LITERAL_SYMBOL] = a$CLASS_NAME$.$AGGREGATION_MANY_NAME LITERAL_SYMBOL[i LITERAL_SYMBOL] ; ]
[  for (i = 0; i < maxNumberOf$ASSOCIATION_MANY_CLASS$s; i++) ASSOCIATION_MANY_NAME LITERAL_SYMBOL[i LITERAL_SYMBOL] = &null$ASSOCIATION_MANY_CLASS ; //Initialization of pointers to null association object ]
[  //for (i = 0; i < maxNumberOf$ASSOCIATION_MANY_CLASS$s; i++) ASSOCIATION_MANY_NAME LITERAL_SYMBOL[i LITERAL_SYMBOL] = a$CLASS_NAME$.$ASSOCIATION_MANY_NAME LITERAL_SYMBOL[i LITERAL_SYMBOL] ; ]
  return *this;
}

[          //Remove function for 1:1 association object data member
          //Warning delete ASSOCIATION_ONE_NAME object if dynamic object
  void CLASS_NAME::remove$ASSOCIATION_ONE_CLASS$()  
{ if ( ASSOCIATION_ONE_NAME == &null$ASSOCIATION_ONE_CLASS ) return;
  else ASSOCIATION_ONE_NAME = &null$ASSOCIATION_ONE_CLASS;  
}]

// Functions for class CLASS_NAME
[
//  Function:   OPERATION_NAME
//  Purpose:    OPERATION_COMMENT1
//  Parameters: CPP_OPERATION_PARAMETERS
//  Comments:   OPERATION_COMMENT2
OPERATION_RETURN_TYPE CLASS_NAME::OPERATION_NAME(CPP_OPERATION_PARAMETERS) CPP_OPERATION_CONSTANT 
{ OPERATION_CODE
}  ] 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?