C++ problem z dziedziczeniem

Mam taką oto klasę:

template 

class lista : list{

private:

	list ids;

	list values;

public:

	void count()

		{		

		int temp;

		while (size>0)

			{

			ids.push_back(front);

			temp=size;

			remove(ids.back);	

			values.push_back(temp-size);

			}

		}

};

już mniejsza o to co ona tam ma robić. W każdym razie mam problem z dodawaniem do tego wartości. jak napiszę

lista initial;

to jeszcze wszystko śmiga, ale kiedy już chcę dodawać element

initial.push_back(1);

to mi wywala błąd

C:/MinGW/include/c++/3.2.3/bits/stl_list.h: In function `int main()’:

C:/MinGW/include/c++/3.2.3/bits/stl_list.h:479: `void std::list<_Tp,

_Alloc>::push_back(const _Tp&) [with _Tp = int, _Alloc =

std::allocator]’ is inaccessible

asd.cpp:28: within this context

i tutaj właśnie wymiękam… wydawało mi się, że moja klasa odziedziczyła zarówno wszystkie konstruktory jak i metody z list, ale jednak nie chcą one teraz tak dokońca śmigać…

co więc jest tutaj źle? co mogę zmienić?

Dziedzicz publicznie:

class Klasa : public KlasaBazowa { … };