请问下面的C++程序有什么问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 01:47:13
class vector
{
// Private data
//- Components
double V[3];
public:
// Component labeling enumeration
enum components { X, Y, Z };
// Constructors
//- Construct null
vector(){}
//- Construct given three scalars
vector(const double Vx, const double Vy, const double Vz)
{
V[X] = Vx; V[Y] = Vy; V[Z] = Vz;
}
// Destructor
~vector();
// Member Functions
const double x() const { return V[X]; }
const double y() const { return V[Y]; }
const double z() const { return V[Z]; }
double x() { return V[X]; }
double y() { return V[Y]; }
double z() { return V[Z]; }
// Friend Functions
friend vector operator+(const vector& v1, const vector& v2)
{
return vector(v1[X]+v2[X], v1[Y]+v2[Y], v1[Z]+v2[Z]);
}
friend double operator&(const vector& v1, const vector& v2)
{
return (v1[X]*v2[X] + v1[Y]*v2[Y] + v1[Z]*v2[Z]);

/* 头文件和命名空间等,要放在文件的前边 */

#include <iostream>
using namespace std;

class vector
{
// Private data
//- Components
private: ////
double V[3];
public:
// Component labeling enumeration
enum components { X, Y, Z };
// Constructors
//- Construct null
vector(){}
//- Construct given three scalars
vector(const double Vx, const double Vy, const double Vz)
{
V[X] = Vx; V[Y] = Vy; V[Z] = Vz;
}
// Destructor
~vector(){}; //析构函数少了{}
// Member Functions
const double x() const { return V[X]; }
const double y() const { return V[Y]; }
const double z() const { return V[Z]; }
double x() { return V[X]; }
double y() { return V[Y]; }
double z() { return V[Z]; }
// Friend Functions
//friend vector operator + (const vector& v1, const vector& v2)
vector operator + (const vector & v1) // v1和v2是vector类的对象,而不是