2021-02-25 17:51:25 +09:00
|
|
|
|
2021-02-26 17:21:25 +09:00
|
|
|
|
2021-02-25 17:52:07 +09:00
|
|
|
#include <iostream>
|
2021-03-09 16:33:27 +09:00
|
|
|
#include "ZCppMain/ZtCArray.H"
|
|
|
|
#include "ZCppMain/ZtCObjList.H"
|
2021-02-25 17:27:36 +09:00
|
|
|
|
2021-02-25 17:51:25 +09:00
|
|
|
|
2021-02-26 17:33:59 +09:00
|
|
|
using namespace std ;
|
|
|
|
using namespace ZNsMain ;
|
2021-02-25 17:27:36 +09:00
|
|
|
|
2021-02-25 17:51:25 +09:00
|
|
|
|
2021-02-26 17:58:57 +09:00
|
|
|
namespace ZNsMain{namespace ZNsHide
|
2021-02-26 17:57:28 +09:00
|
|
|
{
|
|
|
|
|
|
|
|
class ZCFunctor1
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
ZTypInt mi_Index;
|
|
|
|
public :
|
|
|
|
|
|
|
|
ZCFunctor1(){mi_Index=0;}
|
|
|
|
|
|
|
|
void operator()(int ArgiValue)
|
|
|
|
{ cout<<"# index="<<++mi_Index<<", Value="<<ArgiValue<<endl; }
|
|
|
|
public :
|
|
|
|
};/*
|
|
|
|
class ZCFunctor1*/
|
|
|
|
|
|
|
|
}/*
|
2021-02-26 18:00:29 +09:00
|
|
|
namespace ZNsHide*/}/*namespace ZNsMain*/
|
2021-02-26 17:57:28 +09:00
|
|
|
|
|
|
|
|
2021-03-09 16:33:27 +09:00
|
|
|
template<typename T>
|
|
|
|
class ZtCMy
|
|
|
|
{ public: enum{EMyNum=1}; };
|
|
|
|
|
|
|
|
|
|
|
|
template<typename T>
|
|
|
|
class ZtCMy< ZNsMain::ZtCObjList<T> >
|
|
|
|
{ public: enum{EMyNum=2}; };
|
|
|
|
|
2021-02-26 17:57:28 +09:00
|
|
|
|
2021-02-26 17:33:59 +09:00
|
|
|
int main(int ArgiCnt, char** AppArgu)
|
|
|
|
{
|
2021-03-08 22:10:49 +09:00
|
|
|
cout<<endl<<"!!! C++'s Great Start -- 2021-03-08 11:10:00 !!!"<<endl<<endl;
|
2021-02-25 17:27:36 +09:00
|
|
|
|
2021-02-26 17:33:59 +09:00
|
|
|
|
|
|
|
typedef ZNsMain::ZtCObjList<int> CListByInt;
|
2021-03-04 17:55:37 +09:00
|
|
|
typedef ZNsMain::ZtCArray <int> CArrayInt ;
|
2021-02-26 17:33:59 +09:00
|
|
|
|
2021-03-09 16:33:27 +09:00
|
|
|
typedef ZtCMy<int> CMy1;
|
|
|
|
typedef ZtCMy<CListByInt> CMy2;
|
|
|
|
typedef ZtCMy<CArrayInt > CMy3;
|
|
|
|
|
|
|
|
cout<<"# CMy1::EMyNum="<<CMy1::EMyNum<<endl;
|
|
|
|
cout<<"# CMy2::EMyNum="<<CMy2::EMyNum<<endl;
|
|
|
|
cout<<"# CMy3::EMyNum="<<CMy3::EMyNum<<endl;
|
|
|
|
|
|
|
|
|
2021-02-26 17:33:59 +09:00
|
|
|
CListByInt VO_IntList;
|
2021-03-04 17:55:37 +09:00
|
|
|
CArrayInt VO_IntArr ;
|
2021-02-26 17:33:59 +09:00
|
|
|
|
2021-03-04 16:22:15 +09:00
|
|
|
VO_IntList.AddTail(10);
|
|
|
|
VO_IntList.AddTail(40);
|
|
|
|
VO_IntList.AddTail(20);
|
|
|
|
VO_IntList.AddTail(80);
|
|
|
|
VO_IntList.AddTail(90);
|
2021-02-26 17:33:59 +09:00
|
|
|
|
2021-03-04 17:55:37 +09:00
|
|
|
VO_IntArr.AddTail(123);
|
|
|
|
VO_IntArr.AddTail(153);
|
|
|
|
VO_IntArr.AddTail(543);
|
|
|
|
VO_IntArr.AddTail(553);
|
|
|
|
VO_IntArr.AddTail(983);
|
|
|
|
|
2021-02-26 17:41:18 +09:00
|
|
|
|
2021-03-04 16:14:44 +09:00
|
|
|
typedef ZtStTuple<int, int> ZCTuple;
|
2021-03-04 16:10:09 +09:00
|
|
|
|
|
|
|
ZCTuple VO_CTuple; VO_CTuple._1 = 1;
|
|
|
|
|
|
|
|
|
|
|
|
_FFS_(ZCShowData1)
|
2021-02-26 17:41:18 +09:00
|
|
|
(ZTypInt AiInt)
|
|
|
|
{
|
2021-03-08 20:29:43 +09:00
|
|
|
cout<<"# Elem1 : "<< AiInt << endl;
|
2021-02-26 17:55:33 +09:00
|
|
|
}/*
|
|
|
|
(ZTypInt AiInt)*/
|
2021-03-04 16:10:09 +09:00
|
|
|
_FFC_(ZCShowData1)
|
2021-03-04 15:49:03 +09:00
|
|
|
|
2021-03-04 16:10:09 +09:00
|
|
|
_FFS_(ZCShowData2)
|
2021-03-04 16:19:02 +09:00
|
|
|
(ZTypInt AiInt, ZCTuple& AR_CTuple)
|
2021-03-04 16:10:09 +09:00
|
|
|
{
|
2021-03-08 20:29:43 +09:00
|
|
|
cout<<"# Elem2 : "<< AiInt << ", nth=" << AR_CTuple._1++ << endl;
|
2021-03-04 16:10:09 +09:00
|
|
|
}/*
|
2021-03-04 16:19:02 +09:00
|
|
|
(ZTypInt AiInt, ZCTuple& AR_CTuple)*/
|
2021-03-04 16:10:09 +09:00
|
|
|
_FFC_(ZCShowData2)
|
2021-03-04 15:49:03 +09:00
|
|
|
|
2021-03-04 16:19:02 +09:00
|
|
|
_FFS_(ZCShowData3)
|
2021-03-08 22:09:33 +09:00
|
|
|
(ZTypInt AiInt, ZCTuple* AP_CTuple)
|
2021-03-04 16:19:02 +09:00
|
|
|
{
|
2021-03-08 22:09:33 +09:00
|
|
|
cout<<"# Elem3 : "<< AiInt << ", nth=" << AP_CTuple->_1++ << endl;
|
2021-03-04 16:19:02 +09:00
|
|
|
}/*
|
2021-03-08 20:27:36 +09:00
|
|
|
(ZTypInt AiInt, ZCTuple* AR_CTuple)*/
|
2021-03-04 16:19:02 +09:00
|
|
|
_FFC_(ZCShowData3)
|
|
|
|
|
2021-03-08 20:37:34 +09:00
|
|
|
_FFS_(ZCShowData4)
|
2021-03-08 22:11:29 +09:00
|
|
|
(ZTypInt AiInt, ZCTuple* AP_CTuple)
|
2021-03-08 20:37:34 +09:00
|
|
|
{
|
2021-03-08 22:09:33 +09:00
|
|
|
cout<<"# Elem4 : "<< AiInt << ", nth=" << AP_CTuple->_1++ << endl;
|
2021-03-08 20:37:34 +09:00
|
|
|
}/*
|
2021-03-08 22:11:29 +09:00
|
|
|
(ZTypInt AiInt, ZCTuple* AP_CTuple)*/
|
2021-03-08 20:37:34 +09:00
|
|
|
_FFC_(ZCShowData4)
|
|
|
|
|
2021-02-26 17:55:33 +09:00
|
|
|
|
2021-03-04 16:10:09 +09:00
|
|
|
ZNsHide::ZCFunctor1 VO_CFunctor1;
|
2021-02-26 18:02:09 +09:00
|
|
|
/* ZCFunctor1 선언이 main() 바깥에 있어야 하는 문제를 해결할 수 없을까. */
|
2021-02-26 17:55:33 +09:00
|
|
|
|
2021-03-04 16:10:09 +09:00
|
|
|
VO_IntList.IterElement(ZCShowData1::Exec);
|
2021-03-08 20:37:34 +09:00
|
|
|
VO_IntList.IterElemRef(ZCShowData2::Exec, VO_CTuple ); VO_CTuple._1=1 ;
|
2021-03-04 16:20:05 +09:00
|
|
|
VO_IntList.IterElement(ZCShowData3::Exec, &VO_CTuple);
|
2021-03-04 16:10:09 +09:00
|
|
|
VO_IntList.IterElement(&VO_CFunctor1 );
|
2021-03-08 20:37:34 +09:00
|
|
|
VO_IntArr .IterElement(&VO_CFunctor1 ); VO_CTuple._1=1 ;
|
|
|
|
VO_IntArr .IterElement(ZCShowData4::Exec, &VO_CTuple);
|
2021-02-26 17:33:59 +09:00
|
|
|
|
2021-03-09 16:33:27 +09:00
|
|
|
cout<< "# Press Any Key to exit" << endl; cin.get();
|
|
|
|
|
2021-02-25 17:51:25 +09:00
|
|
|
return 0;
|
|
|
|
}/*
|
|
|
|
int main(int ArgiCnt, char** AppArgu)*/
|
2021-02-26 17:33:59 +09:00
|
|
|
|
|
|
|
|
|
|
|
/*/////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
■ 컴파일
|
|
|
|
|
|
|
|
g++ -o test.exe test.cpp -I..
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////*/
|