`

C++类型转换运算符重载

阅读更多
在C++中有一个特殊的运算符重载方法--类型转换运算符重载,形如:operator type();

Code
class CDemo{
public:   
    CDemo(int x,int y){
        this->_x = x;
        this->_y = y;
    }
    operator int(){    // 运算符重载
        return _x;
    } 
private:
    int _x;
    int _y;
};
Code
int _tmain(int argc, _TCHAR* argv[])
{
    CDemo demo(10,30);
    cout<<demo<<endl;
    return 0;
}
运行结果:10

即_x的值,int()对demo进行了隐式类型转换。如果去除重载函数,则报error:二进制“<<”: 没有找到接受“CDemo”类型的右操作数的运算符(或没有可接受的转换).说明<<在遇到无法接受的类型时,会努力找到使之运行

的转换,直到失败。

分享到:
评论

相关推荐

    C++运算符重载转换运算符(讲解详细,不容错过)

    本教程将深入探讨C++中的转换运算符重载,这是一个特殊类型的运算符重载,它使得类对象可以被隐式地转换为其他类型。 转换运算符(也称为类型转换运算符或类型构造函数)是一种特殊的成员函数,它没有参数,返回值...

    C++程序设计课件 ch10 运算符重载

    例如,可以重载类型转换运算符将复数转换为字符串或其他类型。 例如,将复数转换为字符串的转换运算符可以这样实现: ```cpp class Complex { public: operator string() const { return "(" + to_string(real) ...

    C++ 函数重载 运算符重载 类型转化

    在C++编程语言中,函数重载(Overloading)和运算符重载(Overloading)是两种关键的多态性实现方式,而类型转化(Type Conversion)则涉及到数据类型的转换和兼容性问题。这些概念是C++程序员必备的知识点,理解和...

    C++实验四 运算符重载的应用 课程实验报告

    在C++编程语言中,运算符重载是面向对象特性的一个重要组成部分,它允许程序员为已有的运算符赋予新的含义,以便在自定义的数据类型(如类)中使用。本实验报告聚焦于C++中的运算符重载应用,旨在帮助学生理解和掌握...

    C++常用运算符重载简介

    C++常用运算符重载简介 C++运算符重载是指将操作符赋予新的意义,以便在用户定义的类中使用。运算符重载的目的在于将操作符添加到自已的类中,以方便类对象之间的运算,例如使用+、-、*、/等运算符。 为什么要重载...

    c++ 运算符重载和转换

    本篇文章将深入探讨C++中的运算符重载以及相关的函数对象和类型转换。 一、运算符重载的概念 运算符重载并不创建新的运算符,而是为已有的运算符赋予新的意义。重载是通过在类中定义成员函数或友元函数来实现的,...

    c++中运算符重载精讲

    C++中的运算符重载是一种强大的技术,它允许开发者重新定义C++语言中固有的运算符的行为,使得编程更加灵活和方便。在本节中,我们将深入探讨C++中的运算符重载机制、方法和应用。 一、运算符重载的机制 在C++中,...

    C++程序设计讲义 运算符重载

    运算符重载是一种C++特性,它允许程序员为自定义的数据类型(如类)重定义C++中的预定义运算符的行为。这意味着我们可以指定当这些运算符应用于特定类型的对象时应执行的操作。例如,我们可以定义一个复数类,并重载...

    运算符重载的基本内容

    运算符重载是C++语言中的一项重要特性,它允许开发者为用户自定义的数据类型(如类)赋予标准运算符新的含义,使得这些运算符在处理这些特定类型时能够执行相应的操作。运算符重载的核心在于,通过创建与运算符关联...

    C++运算符重载的思维导图

    运算符重载 、运算符重载规则 1.重载运算符的限制 2.运算符重载的语法形 式 、用成员或友元函数重载运算符 1.一元运算符2.二元运算符 3.用成员函数重载运算符 4.用友元函数重载 条件 ②例子 ③注意 5.讨论 6.总结 三...

    运算符重载(2013级-C++程序设计)0

    2013级,C++程序设计课件。第10章 运算符重载,内容 10.1 什么是运算符重载 10.2 运算符重载的方法 10.3 重载运算符的规则 10.4 运算符重载函数作为类成员函数和友元函数 ...10.8 不同类型数据间的转换

    C++中不能重载的运算符

    - C++引入了新的类型转换运算符,如 `static_cast&lt;&gt;`、`dynamic_cast&lt;&gt;`、`const_cast&lt;&gt;` 和 `reinterpret_cast&lt;&gt;`。这些运算符旨在提供更安全、更清晰的类型转换方式。由于它们是C++语言的关键部分,因此不允许被...

    C++运算符重载教学和编程中易被忽视的问题

    在C++中进行运算符重载时,开发者需要注意多个方面的问题,包括但不限于二元运算符重载的实现方式、考虑用户的使用习惯、继承性和友元函数的使用等。通过遵循良好的设计原则和实践,可以使运算符重载更加高效、安全...

    C++程序设计第11章友元与运算符重载.ppt

    在调用运算符重载函数时,系统将自动转换成对重载函数的调用格式,例如:&lt;左操作对象&gt;.&lt;operator&gt;&lt;重载运算符&gt;(右操作数),例如c1.operator+(c2)。 本章介绍了友元函数和运算符重载的概念、定义方法、调用过程及...

    复数类的多种运算符重载

    在C++编程语言中,运算符重载是面向对象特性的一部分,它允许程序员为自定义类型(如这里的“复数类”)赋予已有的运算符新的含义。这使得使用自定义类型的代码更接近自然语言,提高了可读性和易用性。在VC++环境下...

    C++运算符重载函数作为类成员函数和友元函数.docx

    在C++中,运算符重载是一种关键特性,允许程序员为自定义类型赋予标准运算符的新含义,从而使得代码更加简洁易读。运算符重载通过定义一个函数来实现,这个函数会在需要执行相应运算符操作时被系统自动调用。实质上...

    C语言程序设计基础-实验十 运算符重载.doc

    运算符重载是C++语言中的一种特性,允许用户重新定义已有运算符的行为,使得用户定义的数据类型可以像内置类型一样使用运算符。 运算符重载的实现是通过重载运算符的方式来实现的,例如重载“+”和“-”运算符来...

    6-运算符重载.pptx

    运算符重载是C++语言中的一个重要特性,它允许我们为自定义数据类型定义运算符的行为,使得操作更加直观和自然。本节将详细介绍运算符重载的相关规则、语法形式以及一些典型运算符的重载实例。 6.1 运算符重载规则 ...

    运算符重载作业题.docx

    // 重载类型转换运算符(可选) operator double() const { return real; } }; ``` ##### 2. 重载加法运算符 为了实现非成员、非友元的加法运算符重载,我们需要定义一个独立的函数: ```cpp Complex ...

Global site tag (gtag.js) - Google Analytics