過載運算子與動態庫的使用

2021-09-11 08:51:27 字數 896 閱讀 6420

《只能使用友元函式的形式過載,+運算子可以友元也可以成員函式方式過載,但是引數的個數就不同了。以友元函式方式過載+運算子是兩個引數,以成員函式過載只有乙個引數。

point.h:

#include using namespace std;

class point

;

point.cpp:

#include #include "point.h"

using namespace std;

point::point(): m_x(0), m_y(0)

point::point(int x, int y): m_x(x), m_y(y)

point::~point()

int point::getx()

int point::gety()

ostream & operator<<(ostream &out, point &p)

point point::operator+(point& p)

g++ -c -fpic point.h -o point.o
編譯成.o檔案。

g++ -shared point.o -o point.so
#include #include "point.h"

using namespace std;

int main()

最後使用動態庫:

g++ main.cpp -o main -l. -lpoint
列印結果:

[2, 3]

過載運算子

題目描述 定義乙個矩形類,資料成員包括左下角和右上角座標,定義的成員函式包括必要的建構函式 輸入座標的函式,實現矩形加法,以及計算並輸出矩形面積的函式。要求使用提示中給出的測試函式並不得改動。兩個矩形相加的規則是 決定矩形的對應座標分別相加,如 左下角 1,2 右上角 3,4 的矩形,與 左下角 2...

過載運算子

include include using namespace std class test test const int a v a test const test t1 v t1.v 以下過載小於號 比較兩個物件的大小 bool operator const test t1 const 比較物件...

過載運算子

1.當乙個過載的運算子是成員函式時,this繫結到左側運算物件。成員運算子函式的引數比運算物件的數量少乙個。非成員函式呼叫等價於 data1 data2 普通表示式 operator data1,data2 等價的函式呼叫成員函式呼叫等價於 data1 data2 普通表示式 data1.opera...