不知道为什么我的程序不会显示

时间:2011-05-27 01:38:01

标签: c++

#include <iostream>
#include <string>
using namespace std;

class BookData
{
    string Title;
    int Qty;
public:
    void setTitle(string in_title) { Title = in_title;}
    string setQty(int in_qty) { Qty = in_qty; }
    string getTitle() { return Title; }
    int getQty() { return Qty; }
};

int main()
{
    BookData book;
    book.setTitle("Starting Out with C++");
    book.setQty(10);
    cout << "Title is " << book.getTitle() << ".\n\n";
    cout << "Quantity is " << book.getQty() << ".\n\n"; 
    return 0;
}

当我编译所有我得到的是一个空的控制台。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

将BookData :: setQty()的返回类型从string更改为void。

如果没有这个改变,它应该仍然可以正常工作。在我的Linux机器上,当使用返回类型的字符串调用setQty()并且不返回任何字符串时,它会崩溃。

答案 1 :(得分:0)

控制台是否立即关闭?如果是这样,请将其放在return 0;之前:

System("PAUSE");

或者:

std::cin.ignore();

或(对于MSVC ++ 2010):

int temp;
std::cin >> temp;