• 手写编程语言-实现运算符重载


    前言

    先带来日常的 GScript 更新:新增了可变参数的特性,语法如下:

    int add(string s, int ...num){
    	println(s);
    	int sum = 0;
    	for(int i=0;i
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    得益于可变参数,所以新增了格式化字符串的内置函数:

    //formats according to a format specifier and writes to standard output.
    printf(string format, any ...a){}
    
    //formats according to a format specifier and returns the resulting string.
    string sprintf(string format, any ...a){}
    
    • 1
    • 2
    • 3
    • 4
    • 5

    下面重点看看 GScript所支持的运算符重载是如何实现的。

    使用

    运算符重载其实也是多态的一种表现形式,我们可以重写运算符的重载函数,从而改变他们的计算规则。

    println(100+2*2);
    
    • 1

    以这段代码的运算符为例,输出的结果自然是:104.

    但如果我们是对两个对象进行计算呢,举个例子:

    class Person{
    	int age;
    	Person(int a){
    		age = a;
    	}
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    基于SpringBoot的企业客户管理系统的设计与实现【附PPT|万字文档(LW)和搭建文档】
    死锁的发生原因和怎么避免
    华为率先商用卫星通信技术,有助中国在6G技术上取得领先优势
    数据挖掘经典十大算法_NaiveBayes朴素贝叶斯
    【C++ Primer 】第十二章 TextQuery 文本查询程序
    网页优化(布局优化、图片优化)
    热熔胶行业调研:2022年热熔胶市场发展现状与前景分析
    超链接标签,列表标签,布局标签,表单标签,表单项标签
    PyTorch入门教学——dir()函数和help()函数的应用
    研发挑战的解决之道
  • 原文地址:https://blog.csdn.net/Huangjiazhen711/article/details/126929058