标题:求解析下
取消只看楼主
瞎老头
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-10-19
 问题点数:0 回复次数:3 
求解析下
#include<iostream>
using namespace std;

void get_numbers(int& input1,int& input2);
void swap_values(int& variable1,int&  variable2);
void show_results(int out1,int out2);

int main()
{
  int first_num,second_num;

  get_numbers(first_num,second_num);
  //cout<<first_num;
  swap_values(second_num,first_num);
  //cout<<first_num;
  show_results(first_num,second_num);

  return 0;
}

void get_numbers(int& input1,int& input2)
{
    cout<<"Enter your two numbers:\n";
    cin>>input1
        >>input2;
    cout<<endl;
}

void swap_values(int& variable1,int& variable2)
{
    int tem;
    tem=variable1;
    variable1=variable2;
    variable2=tem;
}

void show_results(int output1,int output2)
{  

    cout << "firstnum is :"<<output1<<endl;
    cout <<"secondnum is:"<<output2<<endl;
}


当在把void swap_values(int& variable1,int& variable2)改为传值调用的时候,怎么交换功能就不能实现了?
本人新手,谢谢了!
搜索更多相关主题的帖子: Enter return numbers include void 
2012-10-28 16:08
瞎老头
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-10-19
得分:0 
没啊,我试了多变,还是没交换值呢?不是引用调用,引用调用可以,值就不可以了,,郁闷.\

#include<iostream>
using namespace std;

void get_numbers(int& input1,int& input2);
void swap_values(int variable1,int  variable2);
void show_results(int out1,int out2);

int main()
{
  int first_num,second_num;

  get_numbers(first_num,second_num);
  //cout<<first_num;
  swap_values(first_num,second_num);
  //cout<<first_num;
  show_results(first_num,second_num);

  return 0;
}

void get_numbers(int& input1,int& input2)
{
    cout<<"Enter your two numbers:\n";
    cin>>input1
        >>input2;
    cout<<endl;
}

void swap_values(int variable1,int variable2)
{
    int tem;
    tem=variable1;
    variable1=variable2;
    variable2=tem;
    cout<<variable2;
}

void show_results(int output1,int output2)
{  

    cout << "firstnum is :"<<output1<<endl;
    cout <<"secondnum is:"<<output2<<endl;
}

再看下,谢谢了
2012-10-29 10:10
瞎老头
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-10-19
得分:0 
回复 5楼 超级菜鸟手
太谢谢了。。有点懂了……我再练习个…………
2012-10-30 20:42
瞎老头
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-10-19
得分:0 
DigitalTime::DigitalTime(int the_hour,int the_minute)
{
    if(the_hours<0||the_minute>59||the_hour>23||the_minute<0)
    {
        cout<<"Illgal argument to DigitalTime constructor.\n"'
            exit(1);
    }
    else
    {
        hour=the_hour;
        minute=the_minute;
    }

}

像这样的定义构造函数,给私有变量hour和minute初始化,算不算是传值调用呢?要是的话,在调用函数外部,私有变量岂不是没法初始化了?
2012-10-30 21:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-384743-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.216976 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved