zoukankan      html  css  js  c++  java
  • C++基础-类的构造函数和析构函数(this)

    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 << "
    ";
            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;
    }
  • 相关阅读:
    python yield 理解
    创建loop设备
    git 添加submodule 以及更名
    用了linux 这么久,终于发现一个需要硬连接的地方
    gdb 查看内存
    att 汇编 helloworld
    ln 创建连接和mount -bind用法
    区间DP
    数位DP
    VS反汇编分析
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/13339229.html
Copyright © 2011-2022 走看看