gpt4 book ai didi

c++ - 如何自定义ostream C++

转载 作者:行者123 更新时间:2023-11-28 04:54:15 24 4
gpt4 key购买 nike

我有一个类(class):

class Y{
public:
int x;
Y();
};

主要内容:

int main(){
Y y;
y.x = 10;
y << mystream;

return 0;
}

我只想在 y<<mystream 时采取任何行动被键入。我在我的类(class)标题中尝试过这样的:

friend Y mystream(Y y);
friend ostream mystream(ostream o, Y y)

等等,但没有任何效果。有什么想法可以自定义此流吗?

最好的问候!

最佳答案

您可以重载插入运算符“<<”以将 A 类 对象作为其 LHS 并将 ostream 对象作为其 rhs :

class A{
public:
int x;

friend ostream& operator << (A& lhs, ostream& out){
out << lhs.x;
return out;
}
};



int main(){

A a;
a.x = 7;
a << cout; // 7

cout << endl;
return 0;
}

关于c++ - 如何自定义ostream C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47531669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com