Je tente d'hériter d'une classe à partir d'un vecteur C++ et de l'initialiser au niveau du constructeur. Comment fait-on ça? Par exemple:Hériter des vecteurs et initialisation
class Dataset:public std::vector<float>{
public:
Dataset(vector<float> val):*baseclass*(val){}
// bruteforce way. // Dataset(vector<float> val){//for every val[i] call push_back(val[i]);}
ofcourse il n'y a rien que baseclass, ce que je veux dire par la déclaration ci-dessus est que je veux initialiser les données du vecteur avec val. Comment puis-je le faire sans push_back ing chaque élément?
Dériver en utilisant l'héritage privé est vraiment une bonne chose. – dalle
Pas tellement, sauf si vous avez besoin d'accéder aux membres protégés de la classe de base. C'est Jamais (tm) le cas avec 'std :: vector'. – wilhelmtell
@ user519770 Si vous voulez l'interface du vecteur, vous allez devoir l'écrire vous-même. Je veux dire, écrire l'interface, et partout où vous voyez, vous pouvez faire suivre les appels à l'instance du vecteur membre. Voir par exemple comment 'std :: stack' se comporte dans les en-têtes standard de votre compilateur. Cela aussi est un adaptateur de conteneur. – wilhelmtell