#include #include #include "ZCppMain/ZMainHead.H" using namespace std ; using namespace ZNsMain; namespace ZNsMain { namespace ZNsExam { template class ZtCTest { public: template class ZCTypeVar { public: TType MO_TypeVar; public: ZCTypeVar() { MO_TypeVar=TTypeVar; } public: };/* template class ZCTypeVar*/ public: };/* template class ZtCTest*/ template class ZtCTest2 { public: TType MO_TypeVar; public: ZtCTest2() { MO_TypeVar=TTypeVar; } public: };/* template class ZtCTest2*/ class ZCTypeView { public: ZCTypeView() { cout<<"# ZCTypeView()"< void OnMeetType() { cout< void OnMeetType(TTypHelp& AR_CallNo) { cout<<"* Call No="<<++AR_CallNo<<" : "< void OnMeetTypeVal() { cout<<"* Val="< void OnMeetTypeVal(TTypHelp& AR_CallNo) { cout<<"* Call No="<<++AR_CallNo<<" : Val="< void OnMeetData(TObjtChain& AR_NowChain) { cout<<"* Type No="< void OnMeetData(TObjtChain& AR_NowChain, int& ARI_CallNo) { cout<<"# CallNo="<<++ARI_CallNo<<" : Type No="< class ZCShowType { public: ZCShowType() { cout<<"# TType typename="< myShowType1; ZCShowType myShowType2; ZCShowType myShowType3; //ZCShowType<"abc"> myShowType4; //error const int CI_Var1=10; const int CI_Var2=20; const int CI_Var3=30; ZtCTest::ZCTypeVar myintvar1 ; ZtCTest2 myintvar2 ; ZtCTest2 myintvar3 ; cout< > > > > ZCMiniValChain; ZCTypeView VO_ZCTypeView; int VI_CallNo = 0; cout<<"# ZCMiniValChain.size()="<::IterHead(VO_ZCTypeView); cout<<"************************************"<::IterTail(VO_ZCTypeView); cout<<"************************************"<::IterHead(VO_ZCTypeView, ZftMCP(VI_CallNo = 0)); cout<<"************************************"<::IterTail(VO_ZCTypeView, ZftMCP(VI_CallNo = 0)); cout<<"************************************"< > > > ZCTypeChain; cout<<"tmpl chain size = "<(VO_ZCTypeView); cout<<"@** call start : ZCTypeView(rhs) **********@"<::IterHead(VO_ZCTypeView); cout<<"@******************************************@"<::IterTail(VO_ZCTypeView); cout<<"@*** call close : ZCTypeView(rhs) *********@"< ( VO_ZCTypeView, (VI_CallNo = 0) ); cout<<"************************************"< ( VO_ZCTypeView, (VI_CallNo = 0) ); cout<<"************************************"<:: IterHead(VO_ZCTypeView, ZftMCP(VI_CallNo=0)); cout<<"************************************"<:: IterTail(VO_ZCTypeView, ZftMCP(VI_CallNo=0)); cout<<"************************************"< ZCDataRing; ZCDataRing VO_CDataRing = string("123"); VO_CDataRing.AddTail(string("ABC")); VO_CDataRing.AddTail(string("XYZ")); cout<<"# VO_CDataRing Size = "< ZCViewRing; ZCViewRing VO_ZCViewRing; VO_ZCViewRing.AddTail(); VO_ZCViewRing.AddTail(); VO_ZCViewRing.DeleteAll(); cout<<"************************************"<