swl017 / mpcc_ros

11 stars 5 forks source link

Nested class as a member in a class #1

Closed swl017 closed 3 years ago

swl017 commented 3 years ago

선언과 초기화 분리하는 방법

예시)

class Customer {
public:
    Customer(void);
    Customer(string,char,int);
};
  1. 선언

    #include "Customer.h"
    
    class Node {
      public:
    
         Node(void); //default constructor
         Node(string,char,int); //Node constructor with customer details
    
         Node* left;
         Node* right;
         Node* parent;
         Customer customer;
    };
  2. 초기화

    Node::Node() : left(nullptr),
                  right(nullptr),
                  parent(nullptr),
                  customer() {}
    
    Node::Node(string x, char y, int z) : left(nullptr),
                                         right(nullptr),
                                         parent(nullptr),
                                         customer(x, y, z) {}

출처: https://stackoverflow.com/questions/42987199/using-a-class-object-in-another-class

swl017 commented 3 years ago

Example Solution

class MpccRos
{
    MPC *mpc;
}
MpccRos::MpccRos()
{
    mpc = new MPC( ... );
    mpc->runMPC();
}