------------------------------ 더--------------------------------------------------------

#pragma once
#include<iostream>
#define list_len 100
template<typename Ldata>
class ArrayList
{
private:
 Ldata arr[list_len];
 int numofData;
 int curPosition;
public:
 ArrayList();
 ArrayList(ArrayList *plist);
 void ListInsert(ArrayList *plist,Ldata data);
 int LFirst(ArrayList *plist,Ldata *pdata);
 int LNext(ArrayList *plist,Ldata * pdata);
 Ldata LRemove(ArrayList*plist);
 int LCount(ArrayList *plist);

};

------------------------------------------------------------------------------------------------

#include"arrlist.h"
template<typename Ldata>
ArrayList<Ldata>::ArrayList()
{
 numof>  curPositi>}
template <typename Ldata>
void ArrayList<Ldata>::ListInsert(ArrayList *plist,Ldata data)
{
 if(plist->numofData> listlen)
 {
  cout<<"저장이 불가능합니다"<<endl;
 }
 plist->arr[plist->numofData]=data;
 (plist->numOfData)++;
}
template <typename Ldata>
int ArrayList<Ldata>::LFirst(ArrayList *plist,Ldata *pdata)
{
 if(plist->numOf>   return false;
 (plist->curPosition)=0;
 *p>  return true;
}
template <typename Ldata>
int ArrayList<Ldata>::LNext(ArrayList *plist,Ldata * pdata)
{
 if(plist->curPosition >=(plist->numofData)-1)
  return false;
 (plist->curPosition)++;
 *p>  return true;
}
template <typename Ldata>
Ldata ArrayList<Ldata>::LRemove(ArrayList*plist)
{
 int rpos = plist->curPosition;
 int num= plist->numofData;
 int i;
 Ldata r>

  for(i=rpos;i<num-1;i++)
  plist->arr[i] = plist->arr[i+1];
 (plist ->numofData)--;
 (plist->curPosition)--;
 return rdata;
}
template <typename Ldata>
int ArrayList<Ldata>::LCount(ArrayList *plist)
{
 return plist->numofData;
}

----------------------------------------------------------------------------------

---------------------------------------------------------------------------메인------------------

#include"arrlist.h"
int main()
{
  /*** ArrayList의 생성 및 초기화 ***/
 ArrayList<int>list;
 int data;
 

 /*** 5개의 데이터 저장 ***/
 list.ListInsert(&list, 11); 
 list.ListInsert(&list, 11);
 list.ListInsert(&list, 22); 
 list.ListInsert(&list, 22);
 list.ListInsert(&list, 33);

 /*** 저장된 데이터의 전체 출력 ***/
 printf("현재 데이터의 수: %d \n", list.LCount(&list));

 if(list.LFirst(&list, &data))    // 첫 번째 데이터 조회
 {
  printf("%d ", data);
  
  while(list.LNext(&list, &data))    // 두 번째 이후의 데이터 조회
   printf("%d ", data);
 }
 printf("\n\n");

 /*** 숫자 22을 탐색하여 모두 삭제 ***/
 if(list.LFirst(&list, &data))
 {
  if( 2 )
   list.LRemove(&list);
  
  while(list.LNext(&list, &data))
  {
   if( 22)
    list.LRemove(&list);
  }
 }

 /*** 삭제 후 저장된 데이터 전체 출력 ***/
 printf("현재 데이터의 수: %d \n", list.LCount(&list));

 if(list.LFirst(&list, &data))
 {
  printf("%d ", data);
  
  while(list.LNext(&list, &data))
   printf("%d ", data);
 }
 printf("\n\n");
 return 0;
}

----------------------------------------------------------------------------

C에서 C++로고치려고하는데요 ㅠㅠ

 

저는 C++만배워서 이해가안되는부분이많아요 도와주세요 프게이님들