⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vc15hd1.sct

📁 c#设计模式WithCla
💻 SCT
字号:
// Class: CLASS_NAME                    //VISUAL C++ 1.5

#ifndef __$CAPITALIZE_ALL$TRUNCATE_EIGHT$CLASS_NAME$_H  //Required for current class
  #define __$CAPITALIZE_ALL$TRUNCATE_EIGHT$CLASS_NAME$_H

#ifndef __IOSTREAM_H            //Required for cin and cout
  #include <iostream.h>                 
#endif
[                               //Required for base classes
#ifndef __$CAPITALIZE_ALL$TRUNCATE_EIGHT$BASE_CLASS$_H
  #include "TRUNCATE_EIGHT$BASE_CLASS$.h"
#endif]                               
[#include <INCLUDE_FILE>        //Required for include files]                               
[                               //Required for 1:1 association classes
#ifndef __$CAPITALIZE_ALL$TRUNCATE_EIGHT$ASSOCIATION_ONE_CLASS$_H
  #include "TRUNCATE_EIGHT$ASSOCIATION_ONE_CLASS.h"
#endif]                                                               
[                               //Required for 1:1 aggregation (part) classes
#ifndef __$CAPITALIZE_ALL$TRUNCATE_EIGHT$AGGREGATION_ONE_CLASS$_H
  #include "TRUNCATE_EIGHT$AGGREGATION_ONE_CLASS$.h"
#endif]                                                               
[                               //Required for 1:M association classes
#ifndef __$CAPITALIZE_ALL$TRUNCATE_EIGHT$ASSOCIATION_MANY_CLASS$_H
  #include "TRUNCATE_EIGHT$ASSOCIATION_MANY_CLASS$.h"
#endif]                                                               
[                               //Required for 1:M aggregation (part) classes
#ifndef __$CAPITALIZE_ALL$TRUNCATE_EIGHT$AGGREGATION_MANY_CLASS$_H
  #include "TRUNCATE_EIGHT$AGGREGATION_MANY_CLASS$.h"
#endif
]
SELECT_WHEN ATTRIBUTE_IS_CONSTANT
[ 			//Constant declaration and initialization
const ATTRIBUTE_TYPE ATTRIBUTE_NAME = ATTRIBUTE_INITIAL_VALUE ; ]
class CLASS_NAME[NO_RETURN NO_REPEAT: NO_REPEAT public BASE_CLASS ,DELETE_LAST_SYMBOL] CLASS_LIBRARY_BASE_CLASS     
{                       
			//Attribute data member
  SELECT_WHEN ATTRIBUTE_ACCESS == private
  [CPP_ATTRIBUTE_STATIC ATTRIBUTE_TYPE ATTRIBUTE_NAME$;]        

			//1:1 aggregation part data member
  [AGGREGATION_ONE_CLASS AGGREGATION_ONE_NAME$;]        

			//1:1 association object data member
  [ASSOCIATION_ONE_CLASS$* ASSOCIATION_ONE_NAME$;]      
			
			//Index for list of 1:M aggregation part objects
  [POSITION AGGREGATION_MANY_NAME$Position; ]

			//1:M aggregation part data member
  [CObList AGGREGATION_MANY_NAME;]   

			//Index for list of 1:M association objects
  [POSITION ASSOCIATION_MANY_NAME$Position; ] 
	
			//1:M association object data member
  [CObList ASSOCIATION_MANY_NAME;] 
SELECT_WHEN OPERATION_ACCESS == private
[  CPP_OPERATION_VIRTUAL CPP_OPERATION_STATIC OPERATION_RETURN_TYPE OPERATION_NAME (CPP_OPERATION_PARAMETERS) CPP_OPERATION_CONSTANT CPP_OPERATION_PURE_VIRTUAL;
] 
protected:
SELECT_WHEN OPERATION_ACCESS == protected
[  CPP_OPERATION_VIRTUAL CPP_OPERATION_STATIC OPERATION_RETURN_TYPE OPERATION_NAME (CPP_OPERATION_PARAMETERS) CPP_OPERATION_CONSTANT CPP_OPERATION_PURE_VIRTUAL;
]
SELECT_WHEN ATTRIBUTE_ACCESS == protected 
[ATTRIBUTE_TYPE ATTRIBUTE_NAME$;]       
public:
  SELECT_WHEN ATTRIBUTE_ACCESS == public
  [ATTRIBUTE_TYPE ATTRIBUTE_NAME$;]     

			//Default constructor
			//Ensure correct initial values
			//Associated object data member pointers initialized to 0
  CLASS_NAME () SELECT_WHEN ATTRIBUTE_IS_NORMAL [NO_RETURN NO_REPEAT: ATTRIBUTE_NAME(ATTRIBUTE_INITIAL_VALUE),DELETE_LAST_SYMBOL]
  { 
    [ASSOCIATION_ONE_NAME = 0;                  //Initialization of pointer to 0 ]
    [AGGREGATION_MANY_NAME$Position = (POSITION)NULL;           //Index for list of 1:M aggregation part objects ]
    [ASSOCIATION_MANY_NAME$Position = (POSITION)NULL;           //Index for list of 1:M association objects ]
			
    [   		//Initialization of list of 1:M association objects (pointers)
	POSITION pos =  ASSOCIATION_MANY_NAME.GetHeadPosition();
	while(pos) 
	{
		ASSOCIATION_MANY_NAME.GetNext(pos) = 0; 
	}
    ]
  } 

			//Constructor with arguments
			//Update to argument list to initialize base class data members, 
			//e.g. (int aNumber) : BaseClass (aNumber)
  CLASS_NAME ( SELECT_WHEN ATTRIBUTE_IS_NORMAL [NO_RETURN ATTRIBUTE_TYPE a$ATTRIBUTE_NAME,DELETE_LAST_SYMBOL] )     
    [NO_RETURN NO_REPEAT: BASE_CLASS$() ,DELETE_LAST_SYMBOL] 
  { SELECT_WHEN ATTRIBUTE_IS_NORMAL [ATTRIBUTE_NAME = a$ATTRIBUTE_NAME; ]}  
  
			//Copy constructor
	//Commented out code assigns 1:1 and 1:M association object data member pointers
			//Remove // if you desire to assign pointers    
  CLASS_NAME (const CLASS_NAME$& a$CLASS_NAME ) [NO_RETURN NO_REPEAT: BASE_CLASS (a$CLASS_NAME),DELETE_LAST_SYMBOL]
  { int i = 0;
    SELECT_WHEN ATTRIBUTE_IS_NORMAL
   [ ATTRIBUTE_NAME = a$CLASS_NAME$.$ATTRIBUTE_NAME;]
   [ AGGREGATION_ONE_NAME = a$CLASS_NAME$.$AGGREGATION_ONE_NAME;]       
   [ //ASSOCIATION_ONE_NAME = a$CLASS_NAME$.$ASSOCIATION_ONE_NAME;]
   [  
	POSITION pos = AGGREGATION_MANY_NAME.GetHeadPosition();
	AGGREGATION_MANY_CLASS * next$AGGREGATION_MANY_CLASS;
	POSITION pos2 = a$CLASS_NAME.AGGREGATION_MANY_NAME.GetHeadPosition();
	AGGREGATION_MANY_CLASS * next$AGGREGATION_MANY_CLASS$2;
	while(pos)
	 {
	   next$AGGREGATION_MANY_CLASS = (AGGREGATION_MANY_CLASS *)AGGREGATION_MANY_NAME.GetNext(pos);
	   next$AGGREGATION_MANY_CLASS$2 = (AGGREGATION_MANY_CLASS *)a$CLASS_NAME.AGGREGATION_MANY_NAME.GetNext(pos2);
	   next$AGGREGATION_MANY_CLASS = next$AGGREGATION_MANY_CLASS$2;
	 }
   ]     
   [
	pos = ASSOCIATION_MANY_NAME.GetHeadPosition();
	ASSOCIATION_MANY_CLASS * next$ASSOCIATION_MANY_CLASS;
	pos2 = a$CLASS_NAME.ASSOCIATION_MANY_NAME.GetHeadPosition();
	ASSOCIATION_MANY_CLASS * next$ASSOCIATION_MANY_CLASS$2;
	while(pos)
	 {
	   next$ASSOCIATION_MANY_CLASS = (ASSOCIATION_MANY_CLASS *)ASSOCIATION_MANY_NAME.GetNext(pos);
	   next$ASSOCIATION_MANY_CLASS$2 = (ASSOCIATION_MANY_CLASS *)a$CLASS_NAME.ASSOCIATION_MANY_NAME.GetNext(pos2);
	   next$ASSOCIATION_MANY_CLASS = next$ASSOCIATION_MANY_CLASS$2;
	 }
   ]

  }                                     

			//Operator= Assignment Operator
			//Commented out code assigns 1:1 association object data member pointers 
			//Remove // if you desire to assign pointers    
  CLASS_NAME& operator= (const CLASS_NAME$& a$CLASS_NAME);
 
			//Operator== Equality Operator
			//Update to access 1:1 association object data members
			//Function does not compare 1:1 and 1:M association object data member pointers 
  BOOL operator== (const CLASS_NAME$& a$CLASS_NAME) const;
	
			//Operator<< for cout
  friend ostream& operator<< (ostream& os, CLASS_NAME$& a$CLASS_NAME);

			//Operator>> for cin
  friend istream& operator>> (istream& is, CLASS_NAME$& a$CLASS_NAME);
SELECT_WHEN ATTRIBUTE_IS_NORMAL                     
[                       //Get accessor function for attribute data member
  ATTRIBUTE_TYPE get$ATTRIBUTE_NAME$() const
  { return ATTRIBUTE_NAME$;
  }
]                       
SELECT_WHEN ATTRIBUTE_IS_NORMAL                     
[                       //Set accessor function for attribute data member
  void set$ATTRIBUTE_NAME ($ATTRIBUTE_TYPE a$ATTRIBUTE_NAME$)
  { ATTRIBUTE_NAME = a$ATTRIBUTE_NAME$;
  }
]       
SELECT_WHEN ATTRIBUTE_IS_STATIC                 
[                       //Get accessor function for attribute data member
  static ATTRIBUTE_TYPE get$ATTRIBUTE_NAME$()
  { return ATTRIBUTE_NAME$;
  }
]                       
SELECT_WHEN ATTRIBUTE_IS_STATIC                 
[                       //Set accessor function for attribute data member
  static void set$ATTRIBUTE_NAME ($ATTRIBUTE_TYPE a$ATTRIBUTE_NAME$)
  { ATTRIBUTE_NAME = a$ATTRIBUTE_NAME$;
  }
]                       
[                       //Get accessor function for 1:1 aggregation part data member
  AGGREGATION_ONE_CLASS$& get$AGGREGATION_ONE_CLASS$() 
  { return AGGREGATION_ONE_NAME$;
  }
]                       
[                       //Set accessor function for 1:1 aggregation part data member
  void set$AGGREGATION_ONE_CLASS ($AGGREGATION_ONE_CLASS$& a$AGGREGATION_ONE_NAME$)
  { AGGREGATION_ONE_NAME = a$AGGREGATION_ONE_NAME$;
  }
]
[                       //Get accessor function for 1:1 association object data member
  ASSOCIATION_ONE_CLASS$* get$ASSOCIATION_ONE_CLASS$() const
  { return ASSOCIATION_ONE_NAME$;
  }
]                       
[                       //Set accessor function for 1:1 association object data member
  void set$ASSOCIATION_ONE_CLASS ($ASSOCIATION_ONE_CLASS$* a$ASSOCIATION_ONE_NAME$)
  { ASSOCIATION_ONE_NAME = a$ASSOCIATION_ONE_NAME$;
  }
]
[                       //Remove function for 1:1 association object data member
  void remove$ASSOCIATION_ONE_CLASS$() 
  { ASSOCIATION_ONE_NAME = 0; 
  }
]       
[                       //Exists function for 1:1 association object data member
  int exists$ASSOCIATION_ONE_CLASS$() const
  { if ( ASSOCIATION_ONE_NAME == 0 ) return 0; else return 1; 
  }
]       
[                       //Exists function with argument for 1:1 association object data member
  BOOL exists$ASSOCIATION_ONE_CLASS ($ASSOCIATION_ONE_CLASS$* a$ASSOCIATION_ONE_NAME$) const
  { if ( ASSOCIATION_ONE_NAME == a$ASSOCIATION_ONE_NAME ) return TRUE; else return FALSE;
  }
]       
[                       //Get accessor function for 1:M aggregation collection
  CObList& get$AGGREGATION_MANY_CLASS$Collection () 
  { return AGGREGATION_MANY_NAME;
  }
]                       
[                       //Set accessor function for 1:M aggregation collection
			//Parameter is a list
  void set$AGGREGATION_MANY_CLASS$Collection (CObList& a$AGGREGATION_MANY_NAME$Collection)
    {
	POSITION pos = a$AGGREGATION_MANY_NAME$Collection.GetHeadPosition();
	AGGREGATION_MANY_CLASS * next$AGGREGATION_MANY_CLASS$;
	while(pos)
	 {
	   next$AGGREGATION_MANY_CLASS$ = (AGGREGATION_MANY_CLASS *)a$AGGREGATION_MANY_NAME$Collection.GetNext(pos);
	   AGGREGATION_MANY_NAME.AddTail(next$AGGREGATION_MANY_CLASS$);
	 }
    }
]
[                       //Get accessor function for 1:M aggregation part data member
			//Returns the first 1:M aggregation part in the list
  AGGREGATION_MANY_CLASS& getFirst$AGGREGATION_MANY_CLASS$()
  { return (AGGREGATION_MANY_CLASS &)*AGGREGATION_MANY_NAME.GetHead();    }
]
[                       //Exists function for 1:M aggregation part data member
  BOOL exists$AGGREGATION_MANY_CLASS ($AGGREGATION_MANY_CLASS$& a$AGGREGATION_MANY_NAME) const 
  {
     if (AGGREGATION_MANY_NAME.Find((CObject *)&a$AGGREGATION_MANY_NAME) )
	return TRUE;

	return FALSE;
  }
]               
[                       //Get accessor function for 1:M association collection
			//Returns pointer to 1st element of the list
  CObList& get$ASSOCIATION_MANY_CLASS$Collection() 
  { 
	return ASSOCIATION_MANY_NAME;
  }
]                       
[                       //Set accessor function for 1:M association collection
			//Parameter is a list
  void set$ASSOCIATION_MANY_CLASS$Collection (CObList& a$ASSOCIATION_MANY_NAME$Collection)
    {
	POSITION pos = a$ASSOCIATION_MANY_NAME$Collection.GetHeadPosition();
	ASSOCIATION_MANY_CLASS * next$ASSOCIATION_MANY_CLASS$;
	while(pos)
	 {
	   next$ASSOCIATION_MANY_CLASS$ = (ASSOCIATION_MANY_CLASS *)a$ASSOCIATION_MANY_NAME$Collection.GetNext(pos);
	   ASSOCIATION_MANY_NAME.AddTail(next$ASSOCIATION_MANY_CLASS);
	 }
    }
]
[                       //Add function for 1:M association object data member
  void add$ASSOCIATION_MANY_CLASS ($ASSOCIATION_MANY_CLASS$* a$ASSOCIATION_MANY_NAME) 
  { 
	ASSOCIATION_MANY_NAME.AddTail((CObject *)(a$ASSOCIATION_MANY_NAME));
  }
]       
[                       //Remove function for 1:M association object data member
  void removeLast$ASSOCIATION_MANY_CLASS ( ) 
    {
      ASSOCIATION_MANY_NAME.RemoveTail();
    }
]       
[                       //Remove all function for 1:M association object data member
  void removeAll$ASSOCIATION_MANY_CLASS$s ( )
  { 
	ASSOCIATION_MANY_NAME.RemoveAll();
  }
]
[                       //Get accessor function for 1:M association object data member
			//Returns the first 1:M association object pointer in the list
  ASSOCIATION_MANY_CLASS* getFirst$ASSOCIATION_MANY_CLASS$() 
  { 
	return (ASSOCIATION_MANY_CLASS *)ASSOCIATION_MANY_NAME.GetHead();
  }
]       
[                       //Exists function for 1:M association object data member
  BOOL exists$ASSOCIATION_MANY_CLASS$($ASSOCIATION_MANY_CLASS$& a$ASSOCIATION_MANY_CLASS) const
  { 
     if (ASSOCIATION_MANY_NAME.Find((CObject *)&a$ASSOCIATION_MANY_CLASS) )
	return TRUE;

	return FALSE;
  
  }
]       
SELECT_WHEN OPERATION_ACCESS == public
[ CPP_OPERATION_VIRTUAL CPP_OPERATION_STATIC OPERATION_RETURN_TYPE OPERATION_NAME (CPP_OPERATION_PARAMETERS) CPP_OPERATION_CONSTANT CPP_OPERATION_PURE_VIRTUAL;
] 
  OPERATION_CPP_VIRTUAL_BASE_CLASS ~ CLASS_NAME ( ) { }  //Destructor - Delete any pointer data members that used new in constructors 

};

#endif

⌨️ 快捷键说明

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