首页 >  知识中心 >  新闻详情

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。现对A中的元素x施加对应法则f,记作f(x),得到另一数集B。假设B中的元素为y。则y与x之间的等量关系可以用y=f(x)表示。我们把这个关系式就叫函数关系式,简称函数。函数概念含有三个要素:定义域A、值域C和对应法则f。其中核心是对应法则f,它是函数关系的本质特征。 函数(function),最早由中国清朝数学家李善兰翻译,出于其著作《代数学》。之所以这么翻译,他给出的原因是“凡此变数中函彼变数者,则此为彼之函数”,也即函数指一个量随着另一个量的变化而变化,或者说一个量中包含另一个量。函数的定义通常分为传统定义和近代定义,函数的两个定义本质是相同的,只是叙述概念的出发点不同,传统定义是从运动变化的观点出发,而近代定义是从集合、映射的观点出发。

void

中文翻译为“无类型”。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。

 
相关新闻
c++operator C++operator用法. 07-24
push her way she had to push her way across the crowd to get to her son打错了哪儿 07-26
operate 单词operate 的用法和固定搭配 07-26
operate on operate on意思 07-26
operate at 单词operate 的用法和固定搭配 07-26
apart from "apartfrom"和"besides"有什么区别 12-14
arm cortex m ARM11与Cortex 01-06
cortex a53 四核处理器 Cortex A53 CPU和 Cortex 01-06
computerhead cyber 02-17
有erp还要oa吗 企业有了ERP还需要OA吗 02-27
相关产品
厂家直销 ATV Honda TRX500FE carburetor 化油器本田摩托车atv 05-20
绿木霉菌Trichoderma virens/ATCC 9645/Microbiologics 05-24
适用 Otterbox SYMMETRY CLEAR Case for iPhone XR/ Xs Max透明 08-13
RTP Compounds 700 A FR LDPE阻燃 08-13
供应 POM 日本宝理 DURACON TR-5 08-15
RTP Compounds 4000 A-1240 L PPA 美国RTP 08-23
RTP Compounds 4000 ET-1001 L PPA 美国RTP 08-23
RTP Compounds 4002 FR A HS PPA 美国RTP 08-23
RTP Compounds 4005 A TFE 15 PPA 美国RTP 08-23
AProColM90 Eugenol Briscent 353 08-31

大家都在看