zoukankan      html  css  js  c++  java
  • !struct operator reload

    struct t3DObject //对象信息结构体
    {
    int numOfVerts; // 模型中顶点的数目
    int numOfFaces; // 模型中面的数目
    int numTexVertex; // 模型中纹理坐标的数目
    int materialID; // 纹理ID
    bool bHasTexture; // 是否具有纹理映射
    bool bVisible;//对象是否可见,默认是可见
    char strName[255]; // 对象的名称
    FPoint3 *pVerts; // 对象的顶点
    FPoint3 *pNormals; // 顶点的法向量
    FPoint2 *pTexVerts; // 纹理UV坐标
    tFace *pFaces; // 对象的面信息
    FPoint3 *pFaceNormals; // 面的法线

    // 为t3DObject运算符重载
    t3DObject& operator=(t3DObject& value)
    {
    numOfVerts = value.numOfVerts; // 模型中顶点的数目
    numOfFaces = value.numOfFaces; // 模型中面的数目
    numTexVertex = value.numTexVertex; // 模型中纹理坐标的数目
    materialID = value.materialID; // 纹理ID
    bHasTexture = value.bHasTexture; // 是否具有纹理映射
    bVisible = value.bVisible;//对象是否可见,默认是可见
    //char strName[255]; // 对象的名称
    pVerts = value.pVerts; // 对象的顶点
    pNormals = value.pNormals; // 顶点的法向量
    pTexVerts = value.pTexVerts; // 纹理UV坐标
    pFaces = value.pFaces; // 对象的面信息
    pFaceNormals = value.pFaceNormals; // 面的法线

    return *this;
    }
    };

    当结构体包含结构体的时候,赋值很复杂,而且容易出现各种问题,所以这个时候最好使用指针传递。

  • 相关阅读:
    SD卡测试
    测试人员可能会遇到的问题
    HDU 1024 Max Sum Plus Plus
    HDU 1176 免费馅饼
    HDU 1257 最少拦截系统
    HDU 1087 Super Jumping! Jumping! Jumping!
    poj 1328 Radar Installation
    poj 1753 Flip Game
    HDU 1003 Max Sum
    HDU 5592 ZYB's Premutation(BestCoder Round #65 C)
  • 原文地址:https://www.cnblogs.com/qingsunny/p/4331707.html
Copyright © 2011-2022 走看看