したがって、デフォルトのコンストラクターを使用して個々のエントリをメモリに挿入し、メソッドを呼び出してそれらを読み取りますgetBookInfo()
。変数を 1 つだけ使用してテストを実行しようとするとgetBookInfo()
、データを挿入した後に呼び出しても何も得られません。
何故ですか?
メイン.cpp
#include <iostream>
using namespace std;
#include "Book.h"
void main()
{
Book book;
book.setTitle("Advanced C++ Programming");
book.setAuthorName("Linda", "Smith");
book.setPublisher("Microsoft Press", "One Microsoft Way", "Redmond");
book.setPrice(49.99);
book.getBookInfo(); // <-= this should be output
int i;
cin >> i;
};
Book.cpp
#include <iostream>
#include <sstream>
using namespace std;
#include "Book.h"
Book::Book()
{
}
void Book::setTitle(string title)
{
title = title;
}
void Book::setPrice(double price)
{
price = price;
}
string Book::convertDoubleToString(double number)
{
return static_cast<ostringstream*>( &(ostringstream() << number) ) -> str();
}
// this should be output
string Book::getBookInfo()
{
stringstream ss;
ss << title << endl << convertDoubleToString(price) << endl;
return ss.str();
}