我想“重命名”我的班级Vec4f的一些成员. 我知道在严格的C中这是不可能的,但是我可以创建一个继承自我的类的新类并声明新成员,这些成员是别名或指向原始成员的指针吗? 我尝试了
我知道在严格的C中这是不可能的,但是我可以创建一个继承自我的类的新类并声明新成员,这些成员是别名或指向原始成员的指针吗?
我尝试了以下方法:
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) {}; };
C中不可能使用构造函数链接.您使用初始化列表初始化基类.
您现在可以将其用作:
ofVec4fGraph obj; fun1(obj.x, obj.y); fun2(obj.maxX, obj.minY);