歡迎來到朵拉利品網
知識中心
資訊
  • 資訊
  • 產品
  • 供應商
您的位置: 朵拉利品網 >  知識中心 > c++operator C++operator用法.
c++operator C++operator用法.
2019-07-24 20:23:38 來源:朵拉利品網

1, C++operator用法.



1. operator 用于類型轉換函數:
類型轉換函數的特征:
1) 型轉換函數定義在源類中;
2) 須由 operator 修飾,函數名稱是目標類型名或目標類名;
3) 函數沒有參數,沒有返回值,但是有return
語句,在return語句中返回目標類型數據或調用目標類的構造函數。
類型轉換函數主要有兩類:
1) 對象向基本數據類型轉換:
對象向不同類的對象的轉換:
例程1:
//通過類型轉換函數求半徑為5的圓的面積
//并將其存儲在float型變量中打印輸出
#i nclude
using namespace std;
class CArea
{
float area;
public:
CArea()
{
area=0;
}
CArea(float a) //重載含有一個參數的構造函數
{
area=a;
}
void getArea()
{
cout
using namespace std;
class employee
{
int salary;
public:
void setSalary(int s)
{
salary=s;
}
void getSalary()
{
cout(const employee & e)//重載大于號操作符
{
if(salary > e.salary)
return true;
else
return false;
}
};
void main()
{
employee emp1,emp2;
emp1.setSalary(1000);
emp2.setSalary(2000);
if (emp1 > emp2)
{
cout

2, C++ operator的用法是什么?



/* 翻翻《C++ Primer》你就知道了。 */
class CDemo
{
public:
CDemo() : m_nInt(0) { }
virtual ~CDemo() { }
void operator =(const CDemo& r)
/* 重載等號運算符 */
{
this->m_nInt = r.m_nInt;
}
private:
int m_nInt;
};

3, "operator"在C語言里是什么關鍵字,具體什么功用?



1.operator是操作符的意思。operator是C++的關鍵字,不是C語言當中的,它和運算符一起使用,表示一個運算符函數,理解時應將operator=整體上視為一個函數名。
2.C++中的operator,有兩種用法,一種是operator overloading(操作符重載),一種是operator casting(操作隱式轉換)。下面分別進行介紹:
1)operator overloading
C++可能通過operator 重載操作符,格式如下:類型T operator 操作符 (),例如重載 +:
templateclass A
{
public:
const T operator + (const T& rhs)
{
return this->m_ + rhs;
}
private:
T m_;
};
又比如STL中的函數對象,重載 ():
templatestruct A
{
T operator()(const T& lhs, const T& rhs){ return lhs-rhs;}
};
2)operator casting
C++可能通過operator 重載隱式轉換,格式如下: operator 類型T (),如下所示
class A
{
public:
operator B* () { return this->b_;}
operator const B* () {return this->b_;}
operator B& () {return *this->b_;}
private:
B* b_;
};
A a;
當if(a),編譯時,其中它轉換成if(a.operator B*()),其實也就是判斷 if(a.b_)

4, c++ operator



給你一段代碼,已經測試過的了,給我最佳啊
#include
#include
using namespace std;
class my_int
{
public:
my_int(){};
my_int (double m)
{
n = m;
}
my_int operator + (const my_int& a);
my_int operator - (const my_int& a);
my_int operator * (const my_int& a);
my_int operator / (const my_int& a);
friend ostream & operator friend istream & operator >>(istream &,my_int &);
double n;
};
my_int my_int::operator + (const my_int& a)
{
return my_int(n + a.n);
}
my_int my_int::operator - (const my_int& a)
{
return my_int(n - a.n);
}
my_int my_int::operator * (const my_int& a)
{
return my_int(n * a.n);
}
my_int my_int::operator / (const my_int& a)
{
return my_int(n / a.n);
}
ostream & operator {
cout return output;
}
istream & operator >>(istream &input,my_int &p)
{
cin >>p.n;
return input;
}
int main()
{
my_int a, b, c;
my_int plus, minus, product, divide, asso;
cin >>a;
cin >>b;
cin >>c;
plus = a+b;
minus = a-b;
product = a*b;
divide = a/b;
asso = a*b-c;
cout cout cout cout cout cout system("Pause");
return 0;
}

相關概念


類型轉換

每個函數都可以強制將一個表達式轉換成某種特定數據類型。自動(隱式)類型轉換不會導致數據丟失。數據類型在數據結構中的定義是一個值的集合以及定義在這個值集上的一組操作。 變量是用來存儲值的所在處;它們有名字和數據類型。變量的數據類型決定了如何將代表這些值的位存儲到計算機的內存中。在聲明變量時也可指定它的數據類型。所有變量都具有數據類型,以決定能夠存儲哪種數據。

函數

函數的定義:給定一個數集A,假設其中的元素為x?,F對A中的元素x施加對應法則f,記作f(x),得到另一數集B。假設B中的元素為y。則y與x之間的等量關系可以用y=f(x)表示。我們把這個關系式就叫函數關系式,簡稱函數。函數概念含有三個要素:定義域A、值域C和對應法則f。其中核心是對應法則f,它是函數關系的本質特征。 函數(function),最早由中國清朝數學家李善蘭翻譯,出于其著作《代數學》。之所以這么翻譯,他給出的原因是“凡此變數中函彼變數者,則此為彼之函數”,也即函數指一個量隨著另一個量的變化而變化,或者說一個量中包含另一個量。函數的定義通常分為傳統定義和近代定義,函數的兩個定義本質是相同的,只是敘述概念的出發點不同,傳統定義是從運動變化的觀點出發,而近代定義是從集合、映射的觀點出發。

void

中文翻譯為“無類型”。常用在程序編寫中對定義函數的參數類型、返回值、函數中指針類型進行聲明。 void的字面意思是“無類型”,void *則為“無類型指針”,void *可以指向任何類型的數據。

公交车扒开稚嫩挺进老师小说