zoukankan      html  css  js  c++  java
  • 多继承问题 操作符重载

    继承函数调用顺序:1.先按照继承关系调用构造函数  2.按照声明顺序调用成员函数和  3.反继承顺序调用析构函数

    1.菱形继承问题  因为父类太多 函数产生了二义性 解决方法使用虚继承 virtual      121

    2.V形状继承问题  使用类域来确定对哪个进行参数 进行赋值               21

    操作符重载:

    1.类内重载:把操作符重载为函数,当使用这个操作符时会调用这个函数

    格式:返回类型 operator 重载的操作符(形参列表)

    参数个数由操作符的操作数决定:单目运算符一般不需要参数:a++,操作this,

    双目运算符 a+b,需要1个参数:this是左操作数,这个参数为右操作数

        Student operator + (const Student &stu)const
        {
            Student temp(this->name +' '+ stu.name,this->age + stu.age);
            return temp;
        }

    2.类外重载:=操作符不能在类外重载

    参数个数由操作符的操作数决定:单目运算符一般需要一个参数:a++ 第一个参数调用操作符重载函数

    双目运算符 a+b 需要2个参数  第一个参数为左操作数,第二个参数是有操作数

    重载要注意的问题:

    1.不能改变操作符的本义

    2.不要改变操作符的返回值

    3.下面操作符不能重载:     :: ->  .  ->*  .* ? :

  • 相关阅读:
    5 Longest Palindromic Substring(easy)
    4 Median of Two Sorted Arrays(medium)
    前言
    3 Longest Substring Without Repeating Characters(medium)
    JavaScript&jQuery学习笔记
    禅道、jenkins部署记录
    jenkins部署自动化项目备注
    pytest
    我的第一个py爬虫-小白(beatifulsoup)
    单元测试python unittest
  • 原文地址:https://www.cnblogs.com/xiaozoui11cl/p/12768569.html
Copyright © 2011-2022 走看看