我试图使用一个类来保存字符串值,但它没有返回我输入的值

时间:2014-08-12 06:35:09

标签: c++ class

所以基本上我把一个字符串放入一个变量中,并没有返回正确的值。

存储值的类:

#include "livestreamer.h"
#include <cstdlib>
#include <string>
#include <iostream>

using namespace std;


void setStream(string x);
string getStream();

livestreamer::livestreamer()
{

}

void livestreamer::setStream(string x){
    stream = x;
}

string livestreamer::getStream(){
    return stream;
}

提供值的类:

#include "streamwindow.h"
#include "ui_streamwindow.h"
#include "livestreamer.h"
#include "startstream.h"
#include <string>
#include <iostream>

using namespace std;



streamwindow::streamwindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::streamwindow)
{
    ui->setupUi(this);
}

streamwindow::~streamwindow()
{
    delete ui;
}

void streamwindow::on_pushButton_clicked()
{

}

void streamwindow::on_pushButton_17_clicked()
{
    livestreamer st;
    st.setStream("tsm_dyrus");
    startstream s;
    s.reallystartstream();
}

使用值的类:

#include "startstream.h"
#include "livestreamer.h"
#include <string>

using namespace std;

startstream::startstream()
{

}

void startstream::reallystartstream(){
    livestreamer obj;
    system(("livestreamer twitch.tv/"+obj.getStream()+" best").c_str());

}

正在发生的事情是我运行它并且它根本不会返回值。所以,如果有人可以尝试帮助我,那就太棒了。

1 个答案:

答案 0 :(得分:1)

我假设livestreamer::stream的类型是std::string

您创建两个对象,并将值存储在一个对象中,然后从第二个对象中检索它。第二个对象不包含第一个对象的值,需要传递第一个对象。

在你的streamwindow :: on_pushButton_17_clicked()中:

void streamwindow::on_pushButton_17_clicked()
{
    livestreamer st;
    st.setStream("tsm_dyrus");
    startstream s;
    s.reallystartstream( st );
}

然后是你的startstream课程:

void startstream::reallystartstream( livestreamer & obj ){
    system(("livestreamer twitch.tv/"+obj.getStream()+" best").c_str());
}