朋友的功能不打印它应该是什么

时间:2017-03-28 04:21:51

标签: c++ oop friend friend-function

每当我运行程序时,没有输出,程序就结束了。难道我做错了什么?我确定我错过了一些东西,但我似乎无法弄明白。

#include <iostream>
#include <string>

using namespace std;

class Addr
{
public:
    Addr(int i = 0){
        total = i;
    }

void addNum(int num){
    total += num;
}

int getNum(){ 
    return total; }

friend int print(Addr& var);

private:
   int total;
};

int print(Addr& var){
    return var.total;
}

int main()
{
    Addr object1;
    object1.addNum(3);
    print(object1);

    return 0;
 }

2 个答案:

答案 0 :(得分:0)

您的程序行为正常。没有输出,因为您没有在程序中向控制台打印任何内容。

print函数仅返回total

如果您希望将值打印到控制台,那么您可以更改定义,如下所示:

int print(Addr& var){
    cout << var.total << endl; // this prints to the console output
    return var.total;
}

答案 1 :(得分:0)

您的代码没有问题。事实是没有使用打印功能。我修改了你的主要功能。

int main()
{
    Addr object1;
    object1.addNum(3);

    cout<<print(object1);

    return 0;
}