通过C ++中的inherit类重命名成员 [英] rename member by inherit class in C++

查看:197
本文介绍了通过C ++中的inherit类重命名成员的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想重命名à类的一些成员。我的类是vec4f(在现实中的Vec4f)。我需要重命名其成员。我知道这是不可能的严格的C ++,但我可以创建一个新类继承自我的类,并声明新成员是别名或指向老成员的指针。

i would like to rename somes members of à class. My class is vec4f (ofVec4f in reality). And i need to "rename" its members. I know it's impossible in strict C++ but i could i create new class who inherit from my class and declare new members who are alias or pointer to the old members?

只是为了读快乐因为我正在读CSV(通过ofCSCs)。

All this is just for read pleasure cause I'm reading CSV (through ofxCsv).

我需要3时间4值,所以我使用vec4f 3时间,但我只能接近他成员:myData.x,myData.y,.z .w

i need 3 time 4 values so i use vec4f 3 time but i can only acces to his members by myData.x, myData.y, .z .w

但我需要(为了方便阅读)myData.minX,myData.maxX,myData.minY,myData .maxY?

But i need (for easy reading) myData.minX, myData.maxX, myData.minY, myData.maxY ?

不是继承类的工作吗?

Is not à job for inherited class ?

我试过这样:

class ofVec4fGraph : public ofVec4f {

    public :
        float& minX;
        float& maxX;
        float& minY;
        float& maxY;

        ofVec4fGraph(float _minX,float _maxX, float _minY, float _maxY )
                    : minX(_minX), maxX(_maxX), minY(_minY), maxY(_maxY)
                    { ofVec4f(_minX, _maxX, _minY, _maxY); };

    };

感谢任何帮助。

推荐答案

您的课程应为:

class ofVec4fGraph : public ofVec4f {
public :
  float& minX;
  float& maxX;
  float& minY;
  float& maxY;

  ofVec4fGraph(float _minX,float _maxX, float _minY, float _maxY )
                    : ofVec4f(_minX, _maxX, _minY, _maxY), minX(x), maxX(y), minY(z), maxY(w)
     {};

};


$ b 。

您现在可以使用:

ofVec4fGraph obj;
fun1(obj.x, obj.y);
fun2(obj.maxX, obj.minY);

这篇关于通过C ++中的inherit类重命名成员的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆