zoukankan      html  css  js  c++  java
  • C++ 友元(friend关键字)、类中的重载、操作符重载(operator关键字)

    C++ 中友元的用法:

      1、在类中使用friend关键字声明

      2、类的友元可以是其它类或者具体函数

      3、友元不是类的一部分

      4、友元不受类中访问级别的限制

      5、友元可以直接访问具体类中的所有成员。

    友元声明使用格式:  

    class class_name()
        {
            int x;
            int y;
            public:
                friend void func(class_name& p);
        };
        void func(class_name& p)
        {
            
        }

    友元关系不具备传递性

    类的友元可以是其它类的成员函数

    类的友元可以是某个完整的类——所有的成员函数都是友元

    友元小结:

      友元是为了兼容c语言的高效而诞生的。

      友元直接破坏了面向对象的封装性

      友元关系不具备传递性

      类的友元可以是其它类的成员函数

      类的友元可以是某个完整的类  

    类中的函数重载:

      1、函数重载的本质是相互独立的不同函数

      2、C++中通过函数名、函数参数确定函数调用

      3、无法直接通过函数名获得重载函数的入口地址

      4、函数的重载只能在相同的作用域

    函数重载的重要意义:

      通过函数名对函数功能进行提示。

      通过参数列表对函数用法进行提示

      扩展系统中已经存在的函数功能

     

    C++ 操作符重载(operator):

      C++中的重载能够扩展操作符的功能。

      操作符的重载以函数的方式进行。

      本质:

      用特殊形式的函数扩展操作符的功能。

    operator关键字可以定义特殊的函数,通过函数重载操作符。

    class Type

    {

      Type operator sign (const Type &t, const Type & t2)

      {

        Type ret;

        return ret;

      }    

    }

  • 相关阅读:
    修改sql表操作大全
    Asp.NET自定义DataGrid控件
    jQuery LigerUI 插件介绍及使用之ligerGrid
    jQuery LigerUI API预览版发布
    jQuery LigerUI 初次发布&一睹为快(提供Demo下载)
    jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable
    nginx 日志
    nginx 正向代理
    排序
    nginx 静态资源优化
  • 原文地址:https://www.cnblogs.com/hjxzjp/p/11681786.html
Copyright © 2011-2022 走看看