1.构造函数主要是类在进行实例化的时候进行操作 

2.析构函数主要是在类被删除的时候进行操作

3.this主要是将输入的变量传递给类的内部变量进行使用 

//
// Created by qq302 on 2020/7/19.
//
#include <iostream>
#include <fstream>
using namespace std;

class StoreQuote {
public:
    StoreQuote(); //构造函数,用于在创建时执行命令
    ~StoreQuote(); //析构函数, 类关闭时候的操作

    void ask_quote(string own);
    void ask_speaker();
    bool write();
private:
    string quote, speaker, owner;
    ofstream InputWrite;
};

StoreQuote::StoreQuote() {
    InputWrite.open("C:/Users/qq302/CLionProjects/untitled1/test.txt", ios::app); //打开文件夹 
}

StoreQuote::~StoreQuote() {
    InputWrite.close(); //类删除时,关闭文件 
}

void StoreQuote::ask_quote(string owner) { 
    this->owner = owner; //将传入的数据赋值给类的变量属性owner,可以在类的其他地方进行调用 
    cout << "请输入你喜欢的书名:";
    cin >> quote;
}

void StoreQuote::ask_speaker() {
    cout << this->owner << ":";
    cout <<"请输入书名的作者:";
    cin >> speaker;
}

bool StoreQuote::write() {
    if (InputWrite.is_open()) {
        InputWrite << quote << "|" << speaker << "\n";
        return true;
    }
    else {
        return false;
    }
}

int main() {

    StoreQuote SQ;
    SQ.ask_quote("alex");
    SQ.ask_speaker();

    if (SQ.write()) {
        cout << "文件写入成功" << endl;
    }
    else {
        cout << "文件写入失败" << endl; 
    }
    return 0;
}

 

posted on 2020-07-19 12:11  python我的最爱  阅读(347)  评论(0编辑  收藏  举报