小编Poo*_*age的帖子

如何输出乘以用户创建的类c ++

我正在为一个用户创建的有理数类重写一个赋值重载操作符,但不能在同一行中输出两个"Rational"对象.例如:

std::cout<<5*10<<std::endl;
Run Code Online (Sandbox Code Playgroud)

输出50就好了.但是,当我尝试做的时候,

std::cout<<Rational_1*Rational_2<<std::endl;
Run Code Online (Sandbox Code Playgroud)

我收到一个错误.如果我改为将值赋给第三个理性,例如

Rational_3=Rational_1*Rational_2;
std::cout<<Rational_3<<std::endl;
Run Code Online (Sandbox Code Playgroud)

然后程序输出就好了.我把它带到了我的教授那里,但即使他不知道如何解决它.关于为什么会发生这种情况的任何解释都会有所帮助.我想知道为什么这是一个问题,而不仅仅是简单地获得一段有用的代码.

#include <iostream>
using namespace std;
class Rational{
    public:
        Rational();
        Rational(int whole_number);
        Rational(int numerator_input,int denominator_input);
        friend Rational operator *(Rational rat_1, Rational rat_2);
    `   friend ostream& operator <<(ostream& out,Rational& output);
        void simplify();
    private:
        int numerator,denominator;
};

int main(){
    Rational r1(2,3),r2(3,4),r3;
    r3=r1*r2;
    cout<<r3<<endl;
    //cout<<r1*r2<<endl;

return 0;
}

Rational::Rational(){
    numerator=0;
    denominator=1;
}

Rational::Rational(int whole_number){
    numerator=whole_number;
    denominator=1;
}

Rational::Rational(int numerator_input,int denominator_input){
    numerator=numerator_input;
    if(denominator_input==0){
        cout<<"A rational number can not have a 0 in the denominator\n";
        exit (5);
    } …
Run Code Online (Sandbox Code Playgroud)

c++ class operator-overloading

5
推荐指数
1
解决办法
85
查看次数

4
推荐指数
1
解决办法
115
查看次数

从图像中删除所有空白空间

我需要从图像中删除所有空白,但我不知道该怎么做。我想从中删除空格

原图

我的代码

from PIL import Image, ImageChops
import numpy


def trim(im):
    bg = Image.new(im.mode, im.size, im.getpixel((0, 0)))
    diff = ImageChops.difference(im, bg)
    diff = ImageChops.add(diff, diff, 2.0, -100)
    box = diff.getbbox()
    if box:
        im.crop(box).save("trim_pil.png")


im = Image.open("/home/einfochips/Documents/imagecomparsion/kroger_image_comparison/SnapshotImages/screenshot_Hide.png")
im = trim(im)
Run Code Online (Sandbox Code Playgroud)

但此代码仅从边框中删除空格,我还需要从中间删除空格。如果可能,请提供帮助,如果我将所有五个图像都放在不同的 PNG 文件中,那就太好了。

python opencv imagemagick image-processing python-imaging-library

3
推荐指数
1
解决办法
2692
查看次数

为什么javascript不等待和forEach并执行下一行

当我在 nodejs 中创建我的 api 并尝试将 mongoose 返回计数推送到新创建的数组时,它不会等待 forEach 并执行 json.res() 并给出空响应。当我使用 setTimeout() 时,它会给出正确的结果。

let newcategories = [];
let service = 0;
const categories = await Category.find({}, '_id name');
categories.forEach(async (category) => {

service = await Service.count({category: category});

newcategories.push({ count:service });
console.log('newcategories is -- ', newcategories);

});  /* while executing this forEach it's not wait and execute res.json..*/


console.log('result --- ',result);
console.log('out newcategories is -- ', newcategories);
res.json({status: 200, data: newcategories});
Run Code Online (Sandbox Code Playgroud)

javascript node.js reactjs es6-promise angular

3
推荐指数
2
解决办法
2482
查看次数

生成长固定大小的随机字符串

我想使用以下代码生成唯一的25个字符和数字长字符串,

public static String generateString() {
   String uuid = UUID.randomUUID().toString();
   return uuid;
}
Run Code Online (Sandbox Code Playgroud)

如何设置生成的String的大小并删除-符号?

java uuid

1
推荐指数
1
解决办法
87
查看次数

获取值并将文本打印到文本字段

好在这个问题中,我希望用户在用户应按下计算的第一个文本字段中输入值.要获取用户输入此行的值,应该这样做.

 int j = Integer.parseInt(s.getText());
Run Code Online (Sandbox Code Playgroud)

但我有一个错误,

其中说:不能引用封闭范围中定义的非最终局部变量.

然后我想在第二个文本领域打印y1,但我不知道该怎么做

 package ass3;

 import java.awt.FlowLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;

 import java.awt.GridLayout;

 import javax.swing.JButton;
 import javax.swing.JFrame;
 import javax.swing.JLabel;
 import javax.swing.JTextField;
 import javax.swing.SwingConstants;

  public class secondsConvert {
    public static void main(String[] args){
        JFrame.setDefaultLookAndFeelDecorated(true);
        JFrame frame = new JFrame("second convert program");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(new GridLayout(8,2));
        JLabel seconds = new JLabel("Enter seconds",SwingConstants.RIGHT);
        frame.add(seconds);
        JTextField s = new JTextField(10);
        frame.add(s);
        JLabel year = new JLabel("Years",SwingConstants.RIGHT);
        frame.add(year);
        JTextField y = new JTextField(10);
        frame.add(y);
        JLabel week = new JLabel("Weeks",SwingConstants.RIGHT);
        frame.add(week);
        JTextField …
Run Code Online (Sandbox Code Playgroud)

java jtextfield

0
推荐指数
1
解决办法
793
查看次数

将十六进制值转换为unicode字符

我试图通过以下方式将十六进制值1f600(即笑脸表情符号)转换为其字符表示形式:

String.fromCharCode(parseInt("1f600", 16));
Run Code Online (Sandbox Code Playgroud)

但这只是生成一个方形符号.

javascript

0
推荐指数
1
解决办法
537
查看次数