zoukankan      html  css  js  c++  java
  • 函数:按引用传递函数参数进行操作

    #include <iostream>
    #include <string>
    
    struct free_throws
    {
    	std::string name;
    	int made;
    	int attempts;
    	float percent;
    };
    
    void display(const free_throws & ft);
    void set_pc(free_throws & ft);
    free_throws & accumulate(free_throws & target, const free_throws & source);
    
    int main(void)
    {
    	using std::cout;
    	free_throws one = {"Ifelsa Branch", 13, 14};
    	free_throws two = {"Andor Knott", 10, 16};
    	free_throws three = {"Minnie Max", 7, 9};
    	free_throws four = {"Whily Looper", 5, 9};
    	free_throws five = {"Long Long", 6, 14};
    	free_throws team = {"Throwgoods", 0, 0};
    	
    	free_throws dup;
    	
    	set_pc(one);
    	display(one);
    	accumulate(team, one);
    	display(team);
    	
    	display(accumulate(team, two));
    	accumulate(accumulate(team, three), four);
    	display(team);
    	
    	dup = accumulate(team, five);
    	
    	cout << "Displaying team:
    ";
    	display(team);
    	cout << "Displaying dup after assignment:
    ";
    	display(dup);
    	set_pc(four);
    	
    	accumulate(dup, five) = four;
    	cout << "Displaying dup after ill-advised assignment:
    ";
    	display(dup);
    	return 0;
    }
    void display(const free_throws & ft)
    {
    	using std::cout;
    	cout << "Name: " << ft.name << '
    ';
    	cout << " Made: " << ft.made << '	';
    	cout << "Attempts: " << ft.attempts << '	';
    	cout << "Percent: " << ft.percent << '
    ';
    }
    void set_pc(free_throws & ft)
    {
    	if(ft.attempts != 0)
    		ft.percent =100.0f * float(ft.made)/float(ft.attempts);
    	else
    		ft.percent = 0;
    }
    free_throws & accumulate(free_throws & target, const free_throws & source)
    {
    	target.attempts += source.attempts;
    	target.made += source.made;
    	set_pc(target);
    	return target;
    }

  • 相关阅读:
    15天学会jQuery
    android面试题-简答题(一)
    android面试题-选择填空(一)
    【Android进阶】Android面试题目整理与讲解
    Android 面试题(有详细答案)
    Android开发人员必备的10 个开发工具
    Android环境搭建
    到底如何区分什么是架构、框架、模式和平台 ?
    c#执行Dos命令
    C#打开Word
  • 原文地址:https://www.cnblogs.com/WALLACE-S-BOOK/p/9732346.html
Copyright © 2011-2022 走看看