c 的向量類

2021-06-21 15:32:23 字數 2055 閱讀 6166

下例中定義了乙個向量類,並對向量定義了一系列操作:

檔案結構:

; //定義兩種模式,一種為直角座標,一種為極座標,狀態成員

private:

double x;

double y; //直角座標系的橫縱座標

double distance;

double angle; //極座標的角度及距離

mode mode; //

void setx();

void sety();

void setdis();

void setangle();

public:

vector();

vector(double n1, double n2, mode mode = rect);

~vector();

double xval() const

double yval() const

double distanceval() const

double angleval() const

void setrect(); // set mode to rect

void setpolar(); // set mode to polar

vector operator+(const vector & v); //reload +

vector operator-(const vector & v);

vector operator*(const double n);

friend vector operator*(double n, vector & v);

friend std::ostream & operator<

};#endif // vector_h_included

vector.cpp**:

#include #include #include "vector.h"

using namespace std;

void vector::setx() //set the value of x

void vector::sety()

void vector::setdis() //set the value of distance

void vector::setangle()

vector::vector() //預設建構函式

vector::vector(double n1, double n2, mode form) //建構函式

else if(form == polar)

else

}vector::~vector() //析構函式

void vector::setrect() // set mode to rect

void vector::setpolar() // set mode to polar

vector vector::operator+(const vector & v) //reload +

vector vector::operator-(const vector & v) //reload +

vector vector::operator*(const double n)

vector operator*(double n, vector & v)

std::ostream & operator<

main.cpp**:

#include #include "vector.h"

using namespace std;

int main()

C 實現矩陣類和向量類

c 期末作業內容,寫完之後覺得過於臃腫,又重新搞了個新的。新的當作業交,舊的拿來給同學參考。問題描述 請仿照複數類,設計乙個矩陣類,設計矩陣類的構成元素 1.編寫建構函式完成初始化 2.編寫成員函式,讀入乙個矩陣,輸出乙個矩陣 3.編寫成員函式,計算兩個矩陣相加 相減 點乘 4.編寫成員函式,利用運...

定義向量類

定義向量類 class vector vector 使用兩個頂點拉初始化乙個向量 vector vertex o,vertex d 獲取向量的角度 double angle vertex tovertex double radian double value sin y length double ...

向量模板類

templaterank vector insert t const e,rank r 注意 元素搬遷的順序不能顛倒,否則會因元素被覆蓋而造成資料丟失。向量結構的插入較之列表結構,複雜度就集中在元素搬遷上,線性正比於字尾的長度。考慮最壞情況,依次從首部插入,元素移動個數成幾何級數由n遞減至1。故總體...