C++ 如何打印“两个”;“件”;紧挨着?
我有一门课:C++ 如何打印“两个”;“件”;紧挨着?,c++,class,C++,Class,我有一门课: class Piece{ public: void print(); private: string piece_name_; int top_; int right_; int lower_; int left_; string piece_; }; 它描述拼图块,例如 A/ +␣! C 每边都有一个数字(顶部,右侧…) 我做了打印这件作品
class Piece{
public:
void print();
private:
string piece_name_;
int top_;
int right_;
int lower_;
int left_;
string piece_;
};
它描述拼图块,例如A/
+␣!
C
每边都有一个数字(顶部,右侧…) 我做了打印这件作品的功能,但我需要一种方法来打印两件相邻的作品 这样地
/-␣HDA
!RIEB
-/JFC
有人知道如何解决这个问题吗
void Piece::print(){
for(string::size_type i = 0; i < piece_.size(); ++i){
cout << piece_.at(i);
if(i == 2 or i == 5 or i == 8){
cout << endl;
}
}
}
void Piece::print(){
对于(字符串::大小\类型i=0;i cout我不明白像“A/!”这样的片段信息代表什么,但是您可以使用非成员函数打印两个片段
void printTwoPieces(Piece a, Piece b) {
a.print();
b.print();
cout << endl;
}
void打印两件(件号a、件号b){
a、 打印();
b、 打印();
cout分离关注点,转换为字符串(或字符串)应该与打印分开。然后你可以转换成字符串,然后按你喜欢的方式打印它们。首先,你不能做我认为你想做的事情,使用Piece::print
直接写入std::cout
。开始编写一个流插入操作符,如std::ostream&operator组合多线程-如果您使用单件打印件中的相同样品,则单件样品将更有意义。这些样品应该如何相互匹配?您的a/!
,!R!
,等等示例。在我看来,这就像胡言乱语,很难看出您想要做什么。另外,您想要打印出的到底是什么?在您的print
方法,您正在打印一些(假定)字符串片段
的单个字符,这些字符在您的类中不存在。我假定这应该是片段
或片段
。如果是,这些字符应该是什么格式?A/+␣! C!给出了这幅作品的外观。顶部的数字、右侧的数字等说明了它与哪幅作品相匹配。很抱歉,表达不清楚。这不是在第一幅下面打印另一幅作品吗?我需要将它们相邻打印。A/!这些字符只是为了使作品在视觉上彼此不同,而不是打印在另一幅下面r如果你拆下盖子
void format_pieces(Piece const &p1, Piece const &p2) {
std::stringstream s1, s2;
s1 << p1;
s2 << p2;