Конструктор шаблонного параметра
От: Аноним  
Дата: 25.07.07 10:04
Оценка:
Здравствуйте.

Возникла такая проблема:
template<typename Parent>
class Child : public Parent
{
public:    
    Child(/* здесь как-то надо передать параметры, требуемые конструктором Parent */)
        : Parent(/* как передать сюда параметры? */)
    {}
};


Как сделать шаблонный класс Child независимым от параметров конструктора предка?
Re: Конструктор шаблонного параметра
От: Alex Dav Россия  
Дата: 25.07.07 10:15
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте.


А>Возникла такая проблема:

А>
А>template<typename Parent>
А>class Child : public Parent
А>{
А>public:    
А>    Child(/* здесь как-то надо передать параметры, требуемые конструктором Parent */)
А>        : Parent(/* как передать сюда параметры? */)
А>    {}
А>};

[ccode]
А>


template<typename Parent>
class Child : public Parent
{
public:
Child(int j)
: Parent(j)
{};
};
[/ccode]


А>Как сделать шаблонный класс Child независимым от параметров конструктора предка?


в кострукторе Child() передай в Parent что-нибудь по умолчанию в моем случае кпримеру Parent(0)
Re: Конструктор шаблонного параметра
От: Glоbus Украина  
Дата: 25.07.07 10:54
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте.


А>Возникла такая проблема:

А>
А>template<typename Parent>
А>class Child : public Parent
А>{
А>public:    
А>    Child(/* здесь как-то надо передать параметры, требуемые конструктором Parent */)
А>        : Parent(/* как передать сюда параметры? */)
А>    {}
А>};
А>


А>Как сделать шаблонный класс Child независимым от параметров конструктора предка?


Возмжно я неточно понял вопрос. Но я бы сказал что "никак". Конструктор предка требует параметры. Значит их ему нужно как-то передавать. Можно конечно какие-нить дефолтные значения, но тогда логина работы Parent может пострадать.
Удачи тебе, браток!
Re: Конструктор шаблонного параметра
От: Programador  
Дата: 25.07.07 11:14
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте.


А>Возникла такая проблема:

А>
А>template<typename Parent>
А>class Child : public Parent
А>{
А>public:    
А>    Child(/* здесь как-то надо передать параметры, требуемые конструктором Parent */)
А>        : Parent(/* как передать сюда параметры? */)
А>    {}
А>};
А>


А>Как сделать шаблонный класс Child независимым от параметров конструктора предка?


Писал я темплайтные конструкторы. А покажи как не компилируется, и на чем. Еще метод const Parent& но это не чисто
Re[2]: Конструктор шаблонного параметра
От: Programador  
Дата: 25.07.07 11:30
Оценка:
вооще без проблем
struct B
{  B(int){}
};
template <class TB>
struct Child :public TB
{  template <class P1>
    Child(P1 p1):TB(p1){}
};
Child<B> cb(9);
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.