• 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;
    }
  • 相关阅读:
    简单的描述关于开发部署产生401,500的错误处理
    文件的批量打包下载
    json的序列化与反序列化
    实现MD5的加密和解密
    dropdownlist的OnSelectedIndexChanged方法不触发
    sqlserver错误2,error 40
    C#存储过程调用的三个方法
    SQL Server 错误:924 解决方法
    判断是否在时间间隔内
    切面添加日志
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/13339229.html
Copyright © 2020-2023  润新知