template <class T>
class CRun
{
public:
void run(){}
private:
T *t;
};
class Car
{
public:
int m_a;
int m_b;
};
CRun<Car> carRun;
carRun.xx? //如何访问Car的成员变量m_a和m_b?
我定义了个模板CRun, 传入类名Car,声明了新的类对象carRun,请问怎样可以访问Car的成员变量?
template <class T>
class CRun
{
public:
void run(){}
private:
T *t;
};
class Car
{
public:
int m_a;
int m_b;
};
CRun<Car> carRun;
carRun.xx? //如何访问Car的成员变量m_a和m_b?
我定义了个模板CRun, 传入类名Car,声明了新的类对象carRun,请问怎样可以访问Car的成员变量?
#include <memory>
template <class T> class CRun {
public:
CRun() : _target(new T) {}
void run() {}
T *target() { return _target.get(); }
private:
std::unique_ptr<T> _target;
};
class Car {
public:
int m_a;
int m_b;
};
int main() {
CRun<Car> carRun;
carRun.target()->m_a = 1;
carRun.target()->m_b = 2;
return 0;
}