我对C++类和实例化有疑问。以下代码的输出如下:

Poco库快速引用:http://pocoproject.org/docs/

这是一个测试
退出

我希望输出为:

这是一个测试
用户名
退出

基本上,为什么myCreds不打印出来?
码:

#include <iostream>
#include <string>
#include <Poco/Net/HTTPBasicCredentials.h>

using namespace std;

class myTest{
public:
    string test;
    Poco::Net::HTTPBasicCredentials myCreds;
    myTest();
};

myTest::myTest(){
    test = "this is a test";
    Poco::Net::HTTPBasicCredentials myCreds("username", "password");
}

int main(){
    myTest thisTest;
    cout << thisTest.test << "\n";
    cout << thisTest.myCreds.getUsername() << "\n";
    cout << "EXITING" << "\n";
}

谢谢您的帮助。
[R

最佳答案

您有两个myCreds实例:一个属于thisTest,另一个在myTest构造函数的主体中创建和销毁。

您应该将myCreds的构造函数写为以下内容(以正确地初始化成员myCreds):

myTest::myTest()
    : test("this is a test")
    , myCreds("username", "password")
{
}

关于c++ - 实例化一类库对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15148146/

10-11 22:53