是否将使用typedef创建成员 我是C++编程新手。所以这个问题听起来可能很傻 class ABCD : public VectorS<UINT8, 50> { private: typedef VectorS<UINT8, 50> XYZ; float m_length; float m_angle; inline void append_check (const Point2D& pt) { if (!full()) { push_back (pt); } } public: typedef Point2Df Point; ABCD() : m_length(0), m_angle(0) {} void copy (const ABCD& def) { XYZ::operator=(def); m_length = def.getLength(); m_angle = def.getAngleBound(); } void clear (void) { XYZ::clear(); } } 类ABCD:公共向量 { 私人: 类型定义向量XYZ; 浮动长度; 浮动m_角; 内联无效附加检查(常量点2D和pt) { 如果(!full()) { 推回(pt); } } 公众: 类型定义点2DF点; ABCD():m_长度(0),m_角度(0){} 无效副本(常量ABCD&def) { XYZ::运算符=(def); m_length=def.getLength(); m_angle=def.getAngleBound(); } 无效清除(无效) { XYZ::clear(); } }

是否将使用typedef创建成员 我是C++编程新手。所以这个问题听起来可能很傻 class ABCD : public VectorS<UINT8, 50> { private: typedef VectorS<UINT8, 50> XYZ; float m_length; float m_angle; inline void append_check (const Point2D& pt) { if (!full()) { push_back (pt); } } public: typedef Point2Df Point; ABCD() : m_length(0), m_angle(0) {} void copy (const ABCD& def) { XYZ::operator=(def); m_length = def.getLength(); m_angle = def.getAngleBound(); } void clear (void) { XYZ::clear(); } } 类ABCD:公共向量 { 私人: 类型定义向量XYZ; 浮动长度; 浮动m_角; 内联无效附加检查(常量点2D和pt) { 如果(!full()) { 推回(pt); } } 公众: 类型定义点2DF点; ABCD():m_长度(0),m_角度(0){} 无效副本(常量ABCD&def) { XYZ::运算符=(def); m_length=def.getLength(); m_angle=def.getAngleBound(); } 无效清除(无效) { XYZ::clear(); } },c++,typedef,C++,Typedef,这里是XYZ的typedef发生了什么?是否将使用此typedef创建向量?我看不到任何创建的XYZ类型的成员变量。XYZ::clear()会发生什么情况?这里清除了什么?在typedef向量XYZ之后无论何时写入XYZ,它都将被解释为向量 XYZ::clear()将被解释为向量::clear()在类型定义向量XYZ之后无论何时写入XYZ,它都将被解释为向量 XYZ::clear()将被解释为向量::clear()此代码正在使用typedef为其父类VectorS创建一个较短的名称 与 void

这里是XYZ的typedef发生了什么?是否将使用此typedef创建向量?我看不到任何创建的XYZ类型的成员变量。XYZ::clear()会发生什么情况?这里清除了什么?

typedef向量XYZ之后
无论何时写入XYZ,它都将被解释为
向量


XYZ::clear()将被解释为
向量::clear()
类型定义向量XYZ之后

无论何时写入XYZ,它都将被解释为
向量


XYZ::clear()将被解释为
向量::clear()

此代码正在使用
typedef
为其父类
VectorS
创建一个较短的名称

void clear (void)
{
    VectorS<UINT8, 50>::clear();
}
void clear (void)
{
    this->VectorS<UINT8, 50>::clear();
}
void copy (const ABCD& def)
{
    VectorS<UINT8, 50>::operator=(def);
    ^^^^^^^^^^^^^^^^^^
    m_length = def.getLength();
    m_angle = def.getAngleBound();
}
void清除(void)
{
向量::clear();
}

void clear (void)
{
    VectorS<UINT8, 50>::clear();
}
void clear (void)
{
    this->VectorS<UINT8, 50>::clear();
}
void copy (const ABCD& def)
{
    VectorS<UINT8, 50>::operator=(def);
    ^^^^^^^^^^^^^^^^^^
    m_length = def.getLength();
    m_angle = def.getAngleBound();
}
void清除(void)
{
这->向量::清除();
}

也就是说,它正在调用从其父类继承的
clear
方法。

此代码正在使用
typedef
为其父类创建一个较短的名称
VectorS

void clear (void)
{
    VectorS<UINT8, 50>::clear();
}
void clear (void)
{
    this->VectorS<UINT8, 50>::clear();
}
void copy (const ABCD& def)
{
    VectorS<UINT8, 50>::operator=(def);
    ^^^^^^^^^^^^^^^^^^
    m_length = def.getLength();
    m_angle = def.getAngleBound();
}
void清除(void)
{
向量::clear();
}

void clear (void)
{
    VectorS<UINT8, 50>::clear();
}
void clear (void)
{
    this->VectorS<UINT8, 50>::clear();
}
void copy (const ABCD& def)
{
    VectorS<UINT8, 50>::operator=(def);
    ^^^^^^^^^^^^^^^^^^
    m_length = def.getLength();
    m_angle = def.getAngleBound();
}
void清除(void)
{
这->向量::清除();
}
也就是说,它正在调用从其父类继承的
clear
方法。

typedef VectorS<UINT8, 50> XYZ;
这和

void clear (void)
{
    VectorS<UINT8, 50>::clear();
}
void clear (void)
{
    this->VectorS<UINT8, 50>::clear();
}
void copy (const ABCD& def)
{
    VectorS<UINT8, 50>::operator=(def);
    ^^^^^^^^^^^^^^^^^^
    m_length = def.getLength();
    m_angle = def.getAngleBound();
}
void副本(常量ABCD&def)
{
向量::运算符=(def);
^^^^^^^^^^^^^^^^^^
m_length=def.getLength();
m_angle=def.getAngleBound();
}
在本声明中

typedef VectorS<UINT8, 50> XYZ;
这和

void clear (void)
{
    VectorS<UINT8, 50>::clear();
}
void clear (void)
{
    this->VectorS<UINT8, 50>::clear();
}
void copy (const ABCD& def)
{
    VectorS<UINT8, 50>::operator=(def);
    ^^^^^^^^^^^^^^^^^^
    m_length = def.getLength();
    m_angle = def.getAngleBound();
}
void副本(常量ABCD&def)
{
向量::运算符=(def);
^^^^^^^^^^^^^^^^^^
m_length=def.getLength();
m_angle=def.getAngleBound();
}

非常感谢非常感谢非常感谢非常感谢非常感谢非常感谢非常感谢非常感谢