我的任務是創建一個打印函數,用於打印特定於對象的用戶輸入數據。這個打印函數必須使用我創建的Get()函數命令。如何創建一個可以使用其他類函數和對象變量作爲參數的類函數
我已經使用Google搜索並尋找類似的問題,但無法找到解決方法。我如何創建我的老師想要的這個功能?
我想特別打印目的是BOOK1
我的代碼:
#include <iostream>
#include <string>
#include <cstdio>
using namespace std;
class Book {
public:
void SetTitle(string title_input);
string GetTitle();
void SetAuthor(string& author_input);
string GetAuthor();
void SetCopyRightYear(int copyright_year_input);
int GetCopyRightYear();
void PrintBook();
private:
string title;
string author;
int copyright_year;
};
void Book::SetTitle(string title_input) {
title = title_input;
}
string Book::GetTitle() {
return title;
}
void Book::SetAuthor(string& author_input) {
author = author_input;
}
string Book::GetAuthor() {
return author;
}
void Book::SetCopyRightYear(int copyright_year_input) {
copyright_year = copyright_year_input;
}
int Book::GetCopyRightYear() {
return copyright_year;
}
void Book::PrintBook() {
cout << "Title of Book: " << GetTitle() << endl;
cout << "Author of Book: " << GetAuthor() << endl; // Function is broken FIXME
cout << "Copyright Year: " << GetCopyRightYear() << endl;
}
int main()
{
string title_input = "";
string author_input = "";
int copyright_year_input = 0;
Book book1;
Book book2;
Book book3;
Book book4;
cout << "Enter the book title: ";
cin >> title_input;
book1.SetTitle(title_input);
cout << book1.GetTitle();
cout << "Enter the author name: ";
cin >> author_input;
book1.SetAuthor(author_input);
cout << "Enter the copyright year: ";
cin >> copyright_year_input;
book1.SetCopyRightYear(copyright_year_input);
cout << PrintBook();
你的問題是什麼?你的意見是什麼?你的實際產出是多少?你的預期產出是多少? *您的問題是什麼?*請[請閱讀如何提出問題](http://stackoverflow.com/help/how-to-ask),並學習如何創建一個[Minimal,** Complete **和可驗證示例](http://stackoverflow.com/help/mcve)。 –
根據您的要求,您的'PrintBook()'功能看起來很好。實際上哪些不起作用? – user0042
正在運行/home/ubuntu/workspace/lab25/lab25.cpp /home/ubuntu/workspace/lab25/lab25。cpp:在函數'int main()'中: /home/ubuntu/workspace/lab25/lab25.cpp:75:31:錯誤:'PrintBook'未在此範圍內聲明 cout << PrintBook(); ^這是我收到的錯誤 –