c++ - Should I implement a struct's variables within the constructor of its containing class? -


i have header file class called 'list' , struct called 'node' within private part of class. together, class , struct make doubly threaded list of winery objects (winery being it's own class). i'm wondering if best implement , de-implement node struct's variables within list constructor , deconstructor (like this):

list::list() {     struct node     {         item = winery::winery()         nextbyname = nullptr;         nextbyrating = nullptr;     };     headbyname = nullptr;     headbyrating = nullptr; } list::~list() {     struct node     {         delete item;         delete nextbyname;         delete nextbyrating;     };     delete headbyname;     delete headbyrating; } 

if better implement , de-implement them separately (like this):

list::node::node() {     item = winery::winery()     nextbyname = nullptr;     nextbyrating = nullptr; } list::node::~node() {     delete item;     delete nextbyname;     delete nextbyrating; } 

or if should else? i've looked online, , in textbooks, there no clear answer on this. appreciate guys help, , if explain why solution best (if best), extremely grateful. started learning c++ few months ago after all.

by way, list.h file looks like:

#include "winery.h"  class list { public:     list();     ~list();     void addwinery();     void removewinery();     void displaybyrating() const;     void displaybyname() const;     void searchbyname() const; private:     struct node     {         winery item;         node * nextbyname;         node * nextbyrating;     };      node * headbyname;     node * headbyrating; };  


Comments