salut tout le monde !
j'ai une question sur l'héritage en c++, en fait j'ai une classe ConnectedComponent dont le code est le suivant :
Code :
- class ConnectedComponent
- {
- public:
- ConnectedComponent();
- virtual ~ConnectedComponent();
- private:
- std::vector<std::string> m_nodes;
- int **m_edges;
- int m_nodes_number;
- };
|
et une autre classe ConnectedComponentSearch.cpp où j'utilise une méthode qui a un vector< ConnectedComponent> comme type de retour voici le code
Code :
- vector<ConnectedComponent> ConnectedComponentSearch::CC_calculation()
- {
- vector<bool> marked;
- vector<ConnectedComponent> cc_tab ;
- ConnectedComponent cc;
- vector<string> queue ;
- vector<string> cc_nodes ;//a vector that will have the node of a Connected Component , we will use it in the comparaison
- for(int i=0;i<m_vertices_number;i++)
- {
- queue.push_back(m_vertices.at(i));
- }
- for(int i=0;i<m_vertices_number;i++)
- {
- cout<< queue.at(i)<< endl;
- }
- while(!queue.empty())
- {
- marked=Breadth_First_Search(queue.at(0));
- //cc=new ConnectedComponent();
- for(int i=0;i<marked.size();i++)
- {
- if(marked.at(i)==true)
- {
- cc.m_nodes.push_back(m_vertices.at(i));
- queue.erase( queue.begin() + i );
- }
- }
- cc_tab.at(k)=cc;
- k++;
- }
- cout<<"******The connected components in the graph*********"<<endl;
- for (int i=0; i<k;i++)
- {
- for(vector<ConnectedComponent>::size_type j = 0; j != cc_tab.size(); ++j)
- {
-
- cout << cc_tab[i].m_nodes.at(j) << endl;
- }}
- for(int i=0;i<maxp.size();i++)
- cout<<maxp.at(i)<<"__"<<endl;
- return cc_tab;
- }
|
le problème c'est q'il m'affiche une erreur au niveau d’accessibilité au vecteur m_nodes ?????
merci d'avance pour toute aide
---------------
when there is a will there is a way