operatorpointer.m

来自「Operator pointer in C」· M 代码 · 共 42 行

M
42
字号
#include <iostream>
#include <string.h>
using namespace std;
class Book {
  public:
    Book(char *title, char *publisher, char *author);
    void show_book(void) { 
    cout << "Book: " << title << " by " <<
        author << " Publisher: " << publisher << endl; 
  };
    operator char *();
   
  private:
    char title[64];
    char author[64];
    char publisher[64];
};

Book::Book(char *title, char *publisher, char *author)
{
   strcpy(Book::title, title);
   strcpy(Book::publisher, publisher);
   strcpy(Book::author, author);
}

Book::operator char *(void)
{
   char *ptr = new char[256]; 
   
   return(strcpy(ptr, title)); 
}


int main(void)
{
   Book myBook("A", "B","C");
   
   char *title;
   title = myBook;
   cout << "The book's title is " << title << endl;
}
  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?