📄 vc15hd1.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 + -