В этом случае мы не сможем использовать даже этот код:
std::vector <IFunnyInterface*> funnyItems;
или
std::vector <std::tr1::shared_ptr<IFunnyInterface> > funnyItems;
Поскольку нет связи ISA между FunnyImpl и IFunnyInterface и существует нет неявного преобразования между FUnnyImpl и IFunnyInterface из-за частного наследования.
Вы должны обновить свой код следующим образом:
class IFunnyInterface
{
public:
virtual void IamFunny() = 0;
};
class FunnyImpl: public IFunnyInterface
{
public:
virtual void IamFunny()
{
cout << "<INSERT JOKE HERE>";
}
};
Некоторые из Вас жаловались, что радио и такой очищены от "проверенного" состояния значения по умолчанию... Все, что необходимо сделать, добавляют: радио: селекторы флажка к .not и проблеме решены.
, Если Вы не можете заставить все другие функции сброса работать, этот будет.
Адаптированный из ответа ngen
function form_reset(formID){
$(':input','#'+formID)
.not(':button',':submit',':reset',':hidden',':radio',':checkbox')
.val('');
}