使用者工具

網站工具


cpp:classexamples:books

國立屏東大學 資訊工程學系 物件導向程式設計

Book書籍類別範例


簡介

Book類別是用以對「真實世界(real world)」中的「書籍」進行「抽象對映(mapping abstraction)」的定義。

Data Members

  • [-] title : string
  • [-] author : string
  • [-] ISBN : string

Member Functions

  • [+] setTitle(string t) : void –> setter for title
  • [+] setAuthor(string a) : void –> setter for author
  • [+] setISBN(string i) : void –> setter for ISBN
  • [+] getTitle() : string –> getter for title
  • [+] getAuthor() : string –> getter for Author
  • [+] getISBN() : string –> getter for ISBN
  • [+] showInfo(): void –> print out its information

Constructor and Destructor

  • Book() –> set default values of title and author as “unknown”, and set ISBN as “undefined”
  • Book(string t, string a, string isbn) –> set title, author and ISBN as t, a and isbn
  • ~Book() –> print out [author]'s book has been deleted!

Class Definition

class Book
{
    private:
        string title;
        string author;
        string ISBN;
        
    public:    
        void setTitle(string t) {title=t;}
        void setAuthor(string a) {author=a;}
        void setISBN(string i) {ISBN=i;}
        string getTitle() {return title;}
        string getAuthor() {return author;}
        string getISBN() {return ISBN;}
        Book()
        {
            title="unknown";
            author="unknown";
            ISBN="undefined";
        }
        
        Book(string t, string a, string isbn)
        {
            title=t;
            author=a;
            ISBN=isbn;
        }
        
        ~Book()
        {
            cout << author << "'s book has been deleted!" << endl;
        }
    
        void showInfo()
        {
            cout << title << " (" << author << ")" << ", ISBN:" << ISBN << endl;
        }

};

Example


Book b1,b2;
    
b1.setTitle("Programming in C");
b1.setAuthor("Jun Wu");
b1.setISBN("987-123-456-1");
b2=b1;
b2.setTitle("Smart Programming");
b2.setISBN("987-111-222-3");

cout << b1.getTitle() << "(" << b1.getAuthor() << "), " << b1.getISBN() << endl;
cout << b2.getTitle() << "(" << b2.getAuthor() << "), " << b2.getISBN() << endl;

cpp/classexamples/books.txt · 上一次變更: 2022/04/14 17:05 由 junwu

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki