일지

자료구조...6

niamdank 2020. 9. 27. 17:38

ArrayList.cpp 생성자, 속성 구현

생성자를 구현했으며 기타 함수의 바디도 만들었다. 데이터를 테스트 하기 위한 PrintInfo 메서드를 추가했다.

 

ArrayList.h

#pragma once
#include <xutility>
#include <iostream>

class ArrayList
{
public:
#pragma region 생성자
	ArrayList(size_t capacity = 10);
	ArrayList(const ArrayList& other);
#pragma endregion

#pragma region 속성
// ...
#pragma endregion

#pragma region 메소드
// ...
#pragma endregion

private:
#pragma region 변수
// ...
#pragma endregion
};

 

ArrayList.cpp

#include "ArrayList.h"

#pragma region 생성자
ArrayList::ArrayList(size_t capacity)
	: m_capacity(capacity), m_count(0)
{
	m_items = new int[m_capacity] {0};
}

ArrayList::ArrayList(const ArrayList& other)
	: ArrayList(other.m_capacity)
{
	m_count = other.m_count;
	for (int i = 0; i < m_capacity; i++)
	{
		m_items[i] = other.m_items[i];
	}
}
#pragma endregion

#pragma region 메소드
// ...

/// <summary>
/// 테스트용 리스트 정보 출력 함수
/// </summary>
void ArrayList::PrintInfo()
{
	std::cout << "Capacity: " << m_capacity << std::endl;
	std::cout << "Count: " << m_count << std::endl;
	std::cout << "Items: ";
	for (int i = 0; i < m_capacity; i++)
	{
		std::cout << m_items[i] << ", ";
	}
	std::cout << std::endl;
}
#pragma endregion