码迷,mamicode.com
首页 > 编程语言 > 详细

C++基础-类的构造函数和析构函数(this)

时间:2020-07-19 16:01:54      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:test   name   关闭   store   写入   open   变量   txt   行操作   

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;
}

 

C++基础-类的构造函数和析构函数(this)

标签:test   name   关闭   store   写入   open   变量   txt   行操作   

原文地址:https://www.cnblogs.com/my-love-is-python/p/13339229.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!