#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)); return 0; }/* static int Main(int AI_ArgCnt=0, char* APP_ArgVal[]=0)*/ }/* namespace ZNsExam*/ }/* namespace ZNsMain*/ int main(int AI_ArgCnt, char* APP_ArgVal[]) { return ZNsMain::ZNsExam::Main(AI_ArgCnt, APP_ArgVal); }/* int main(int AI_ArgCnt, char* APP_ArgVal[])*/ /*//////////////////////////////////////////////////////////////////////////////////////// ■ cygwin 컴파일 // g++ -mno-cygwin -o c++_test_006.exe c++_test_006.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D__CYGWIN32__ -D__VISUAL_CPP_VER__=200300 // g++ -mno-cygwin -o c++_test_006_D.exe c++_test_006.cpp -I../../my_CPP/CPP_Main/ -I../../my_CPP/CPP_Std/ -D__CYGWIN32__ -D__VISUAL_CPP_VER__=200300 -D_DEBUG ■ mingw 컴파일 g++.exe -o c++_test_006_mw.exe c++_test_006.cpp -I../ g++.exe -o c++_test_006_mw_D.exe c++_test_006.cpp -I../ -D_DEBUG ./c++_test_006_mw.exe ./c++_test_006_mw_D.exe Administrator@q381-2673 UCRT64 /e/my_CPP/ZCpp/ZCppMainTest # date Sun Aug 24 10:47:09 KST 2025 Administrator@q381-2673 UCRT64 /e/my_CPP/ZCpp/ZCppMainTest # g++ --version g++.exe (Rev2, Built by MSYS2 project) 13.2.0 Copyright (C) 2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ■ Linux 컴파일 g++ -std=c++98 -o c++_test_006.exe c++_test_006.cpp -I../ g++ -std=c++98 -o c++_test_006_D.exe c++_test_006.cpp -I../ -D_DEBUG sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ gcc --version gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ date Sun Aug 24 00:05:51 DST 2025 sauron@q381-2673:/mnt/e/my_CPP/ZCpp/ZCppMainTest$ cat /etc/os-release NAME="Ubuntu" VERSION="20.04.6 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.6 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=focal UBUNTU_CODENAME=focal [sauron@q381-2657 ZCppMainTest]$ cat /etc/centos-release CentOS Linux release 7.9.2009 (Core) [sauron@q381-2657 ZCppMainTest]$ g++ --version g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44) Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ■ 실행 ./c++_test_006.exe ./c++_test_006_D.exe ////////////////////////////////////////////////////////////////////////////////////////*/