码迷,mamicode.com
首页 > 编程语言 > 详细

c++的重载在计算器中的应用

时间:2016-03-13 00:33:51      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

c++的重载是指同一函数名可实现不同的功能,成员函数被重载的特征:
(1)相同的范围(在同一个类中);
(2)函数名字相同;
(3)参数不同;
(4)virtual 关键字可有可无。

 

本次计算器中,中缀转后缀需要进行符号压栈,而计算的时候需要数字的计算,而栈的实现可以通过重载来实现,即提高效率又能更方便的使用。

示例如下:

bool Push(double i){  //不同数值代表不同符号
        lnkNode *tmp=new lnkNode(i);
        tmp->Setnext(top);
        top=tmp;
        size++;
        return true;
    }
    bool Push(long n,long d){
        lnkNode *tmp=new lnkNode(n,d);
        tmp->Setnext(top);
        top=tmp;
        size++;
        return true;
    }
    bool Pop(double &item){
        lnkNode *tmp;
        if(0==size){
            printf("emptyerror");
            return false;
        }
        item=top->Getinfo();
        tmp=top->Getnext();
        delete top;
        top=tmp;
        size--;
        return true;
    }

    bool Pop(long &n,long &d){
        lnkNode *tmp;
        if(0==size){
            printf("emptyerror");
            return false;
        }
        n = top->Getnt();
        d = top->Getdt();
        tmp = top->Getnext();
        delete top;
        top = tmp;
        size--;
        return true;
    }

 

c++的重载在计算器中的应用

标签:

原文地址:http://www.cnblogs.com/ljx1412/p/5270897.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!