友元函数没有打印出它应该打印的内容

friend function not printing out what it should

本文关键字:打印 函数 友元      更新时间:2023-10-16

每当我运行程序时,都没有输出,程序只是结束。我做错了什么吗?我确定我错过了一些东西,但我似乎无法弄清楚。

#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;
 }

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

print函数仅返回total

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

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

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

int main()
{
    Addr object1;
    object1.addNum(3);
    cout<<print(object1);
    return 0;
}