fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. class Node{
  5. private:
  6. std::vector<int> connects;
  7. int action;
  8.  
  9. public:
  10. Node(int num){
  11. for(int i = 0; i < num; i++){
  12. connects.push_back(i);
  13. }
  14.  
  15. }
  16. std::vector<int> getConn()
  17. {
  18. return connects;
  19. }
  20. };
  21.  
  22. class FSM{
  23. private:
  24. std::vector<Node> nodeList;
  25. public:
  26. FSM(){}
  27. void addNode(int size){
  28. Node l(size);
  29. std::cout<<"temp_address "<<&l<<"\n";
  30. nodeList.push_back(l);//use of default copy constructor
  31. }
  32. void printList(){
  33. std::vector<int> p;
  34. for (int i=0; i<nodeList.size(); i++)
  35. {
  36. std::cout<<"Node_arr_num "<<i<<" mem_address "<<&nodeList[i]<<"\nConnections:";
  37. p=nodeList[i].getConn();
  38. for (int j=0; j<p.size(); j++)
  39. std::cout<<" "<<p[j];
  40. std::cout<<"\n";
  41. }
  42. }
  43. };
  44.  
  45. int main()
  46. {
  47. FSM f;
  48. f.addNode(5);
  49. f.addNode(10);
  50. f.addNode(3);
  51. f.printList();
  52. return 0;
  53. }
Success #stdin #stdout 0s 3476KB
stdin
Standard input is empty
stdout
temp_address 0xbfea7660
temp_address 0xbfea7660
temp_address 0xbfea7660
Node_arr_num 0 mem_address 0x8dab098
Connections: 0 1 2 3 4
Node_arr_num 1 mem_address 0x8dab0a8
Connections: 0 1 2 3 4 5 6 7 8 9
Node_arr_num 2 mem_address 0x8dab0b8
Connections: 0 1 2