ฉันเข้าใจว่านี่ไม่ใช่ชื่อที่ดีที่สุด แต่ฉันไม่แน่ใจว่าจะอธิบายปัญหานี้ได้อย่างไรโดยไม่มีตัวอย่าง
ฉันมีคลาสพื้นฐาน (เรียกว่า vector3)
class vector3 {
protected:
double x,y,z;
public:
vector3(): x(0),y(0),z(0) {}
vector3(double xin, double yin, double zin): x(xin),y(yin),z(zin) {}
~vector3() {}
//...other stuff
};
จากนั้นฉันก็มีคลาสอื่นที่ได้มาจาก vector3 เรียกว่า vector4:
class vector4 : public vector3 {
protected:
double ct;
public:
vector4(): vector3(0,0,0), ct=0 {}
vector4(double ctin): ct(ctin) {}
vector4(double ctin, double xin, double yin, double zin):
vector3(xin, yin, zin), ct(ctin) {}
vector4(double ctin, vector3 v):
vector3(v.getx(), v.gety(), v.getz()), ct(ctin) {}
~vector4() {}
//...more other stuff
};
ไม่เป็นไร แต่ตอนนี้ฉันมีคลาสชื่อ particle
กำหนดไว้ดังนี้:
class particle : public vector4 {
protected:
//vector4 r;
double mass;
//vector3 beta;
public:
particle(): vector4(0,0,0,0), mass=0, vector3(0,0,0) {}
particle(vector4 rin, double massin, vector3 betain):
vector4(rin.getx(),rin.gety(),rin.getz(),rin.getct()),
mass=0,
vector3(betain.getx(),betain.gety(),betain.getz()) {}
~particle() {}
//...Further stuff
};
ตอนนี้คำถามคือ:
ฉันจะส่งคืนค่า x, ค่า y และค่า z ของตำแหน่งของอนุภาค และค่า x, ค่า y และค่า z ของเวกเตอร์เบต้าของอนุภาคภายในฟังก์ชันในคลาสอนุภาคได้อย่างไร
ด้วยเวกเตอร์ 4 ฉันแค่ทำ:
double getx() const {
return x;
}
double gety() const {
return y;
}
ฯลฯ แต่ฉันจะใช้อะไรในคลาสของอนุภาค?
~vector3() {}
- person R. Martinho Fernandes   schedule 21.03.2014