小编Bra*_*ams的帖子

用SFML(C++)在屏幕上写入文本输入

所以我正在创建一个图形计算器.我有一个输入字符串s.从字符串中,我可以使用SFML对其进行图形化.我从MIN x坐标开始到MAX x坐标,从EvaluateString()方法获取相应的y,并将所有坐标转到VertexArray v.我已经编写了我的方法和图形方法,一切运行良好.

但是,我有一个小问题.我想在屏幕上输入我的字符串,例如"sin(cos(tan(x)))".我很难找到办法.我有点想通知它与事件TextEntered有关,但我仍然找不到任何完整的东西.

请建议我一个方法.非常感谢!

示例图

class Calculator{
public:
    void main();
private:
    WindowSize DefaultWindow;
    sf::RenderWindow window;
    Cartesian vertexX[2],vertexY[2];
    sf::Vertex axis[4];
    const double MAX = 10;
    const double MIN = -10;
    const double INCREMENT = 0.001;

};

int main(){ 
    DefaultWindow.Max = Cartesian(10,10);
    DefaultWindow.Min = Cartesian(-10,-10);
    DefaultWindow.plane.width=1500;
    DefaultWindow.plane.height=1500;

    // Set up x and y-axis
    vertexX[0] = Cartesian(-100,0);
    vertexX[1] = Cartesian(100, 0);
    vertexY[0] = Cartesian(0,-100);
    vertexY[1] = Cartesian(0,100);

    axis[0] = sf::Vertex(convertCartesiantoWindow(vertexX[0],DefaultWindow));
    axis[1] = sf::Vertex(convertCartesiantoWindow(vertexX[1],DefaultWindow));
    axis[2] = sf::Vertex(convertCartesiantoWindow(vertexY[0],DefaultWindow));
    axis[3] = sf::Vertex(convertCartesiantoWindow(vertexY[1],DefaultWindow));

    // Set up …
Run Code Online (Sandbox Code Playgroud)

c++ sfml

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

在单链接列表中重载赋值运算符

我正在学习链表.我创建了一个模板实现,包括构造函数,插入器,析构函数,复制构造函数和重载赋值运算符.问题是我的测试程序在重载赋值运算符后没有输出任何内容.

对于我的赋值运算符,我使用Clear()函数在复制之前完全清除列表.我把它放在析构函数中并检查它是否正常工作.我还检查了我的复制构造函数,它也运行良好.

文件node.h:定义节点构建块

#include <iostream>
using namespace std;

template <typename T>
struct Node{
    T _item;
    Node<T>* _next;

    Node() {
        _item = T();
        _next = NULL;
    }

    Node(T item){
        _item = item;
        _next = NULL;
    }

    // Print the value of a node
    friend std::ostream& operator <<(std::ostream& outs, const Node<T> &printMe){
        outs << "[" << printMe._item << "]";
        return outs;
    }
};
Run Code Online (Sandbox Code Playgroud)

文件list.h:定义链接列表模板

#include "node.h"

template <class T>
class List {
public:

    // …
Run Code Online (Sandbox Code Playgroud)

c++ linked-list operator-overloading assignment-operator

-2
推荐指数
1
解决办法
120
查看次数