練習陣列下標運算子過載(10分)
題目內容:
在下面提供的mycircle類中新增對陣列下標運算子的過載。
要求:按照陣列下標由小到大,陣列下標運算子按照次序分別返回圓心x座標,圓心y座標,圓的半徑。
下標超出範圍,則返回帶符號整型數中最小的值
可以為mycircle類新增資料域成員並且修改其函式成員。
但是不能修改主函式**
#include
#include
#include
using namespace std;
class myshape
public:
void setcolor(int r , int g , int b)
int getr()
int getg()
int getb()
virtual void draw() = 0;
myshape()
};class mycircle : public myshape
mycircle() = default;
mycircle(mycircle& acircle)
void setcenter(int x , int y)
void setradius(int radius)
void draw()
//----在此處新增陣列下標運算子的過載函式原型宣告
};//----在此處新增關係陣列下標運算子的過載定義
int main()
return 0;
}注1:通過 numeric_limits::min() 可以拿到最小的整數。該函式需要包含標頭檔案
注2:陣列下標運算子要返回乙個引用才能作為左值,但是「帶符號整型數中最小的值」是個常量,不能作為函式的引用返回值。那麼,可以在類中定義乙個資料域成員,讓它等於那個最小的值,然後返回這個資料域成員的引用,就可以做左值了。
注3:oj使用gcc編譯器。
輸入格式:
空格分隔的3個整數
輸出格式:
8個整數,每行乙個。第8個整數後面有換行
輸入樣例:
1 2 3
輸出樣例:
-2147483648
-2147483648
第9行是空行
時間限制:500ms記憶體限制:32000kb
#include #include #include #include using namespace std;
class myshape
public:
void setcolor(int r, int g, int b)
int getr()
int getg()
int getb()
virtual void draw() = 0;
myshape()
};class mycircle : public myshape
mycircle() = default;
mycircle(mycircle& acircle)
void setcenter(int x, int y)
void setradius(int radius)
void draw()
//----在此處新增陣列下標運算子的過載函式原型宣告
int & operator (int i)
}};//----在此處新增關係陣列下標運算子的過載定義
int main()
return 0;
}
在如下給定的**中,為 mycircle 類新增關係運算子 >、< >=、< mycircle >(10分)
題目內容:
在如下給定的**中,為 mycircle 類新增關係運算子 >、<、>=、<=、==、!= ,實現按照半徑對 mycircle 物件進行比較。
要求關係運算子過載後的返回值均為 bool 型別
不得修改所給的**
#include
#include
#include
using namespace std;
class myshape
public:
void setcolor(int r , int g , int b)
int getr()
int getg()
int getb()
virtual void draw() = 0;
myshape()
};class mycircle : public myshape
mycircle() = default;
mycircle(mycircle& acircle)
void setcenter(int x , int y)
void setradius(int radius)
void draw()
//----在此處新增關係運算子 >、<、>=、<=、==、!= 的過載原型宣告
};//----在此處新增關係運算子的過載定義
int main()
輸入格式:
空格分隔的3個整數
輸出格式:
6個整數,每行乙個
整數只限0或者1
輸入樣例:
8 9 1
輸出樣例:
一共6行。最後一行後面沒有換行符
時間限制:500ms記憶體限制:32000kb
#include #include #include using namespace std;
class myshape
public:
void setcolor(int r, int g, int b)
int getr()
int getg()
int getb()
virtual void draw() = 0;
myshape()
};class mycircle : public myshape
mycircle() = default;
mycircle(mycircle& acircle)
void setcenter(int x, int y)
void setradius(int radius)
void draw()
//----在此處新增關係運算子 >、<、>=、<=、==、!= 的過載原型宣告
bool operator> (mycircle &a)
bool operator< (mycircle &a)
bool operator== (mycircle &a)
bool operator>= (mycircle &a)
bool operator<= (mycircle &a)
bool operator != (mycircle &a)
};//----在此處新增關係運算子的過載定義
int main()
c 運算子過載練習
利用運算子過載實現自己的mystring類 mystring.h pragma once include using namespace std class mystring mystring.cpp define crt secure no warnings include mystring.h ...
C 運算子過載練習
總時間限制 1000ms 記憶體限制 65536kb 在此處補充你的 描述 程式填空 include using namespace std class myint int inc int n int main return 0 輸入 多組資料,每組一行,整數n 輸出對每組資料,輸出一行,包括兩個整...
C 運算子過載練習
總時間限制 1000ms 記憶體限制 65536kb 在此處補充你的 描述 補足程式使得其輸出結果是 include include using namespace std struct a a int n n n int main 輸入無輸出 樣例輸入 無樣例輸出 40注意實際上a帶有const關...