ViVi Home > 技術文書 > ポインタ入門 > リストクラス > コピーコンストラクタ


 

 

C/C++ ポインタ入門 > リストクラス > コピーコンストラクタ
Nobuhide Tsuda
Jan-2014

コピーコンストラクタ:

List::List(const List &x)
    : m_size(x.m_size)
    , m_dummy(new Node)
{
    link(m_dummy, m_dummy);
    const Node *ptr = x.m_dummy->m_next;
    for (int  i = 0; i < m_size; ++i) {
        append(m_dummy, new Node(ptr->m_value));      // x のノードと同じ値を持つノードを生成し、末尾に追加
        ptr = ptr->m_next;        // 参照するノードへのポインタをひとつ前に進める
    }
}

解説:

 


前: | 次: