美文网首页
将银行名字和余额在实例化的时候可以初始化。 要求名字用动态内存分

将银行名字和余额在实例化的时候可以初始化。 要求名字用动态内存分

作者: 墨狂之逸才 | 来源:发表于2018-06-06 10:40 被阅读11次

Bank.h

#pragma once
#include<iostream>
using namespace std;

class Bank
{
public://构造函数和析构函数
    Bank();//构造函数
    Bank(int balance);
    Bank(int balance, int len);
    ~Bank();//析构函数
public://行为
    void save(int money);
    void draw(int money);
    void show();
public://工具
    char *getName();
    void setName(char *name);
private://数据
    char *m_name;
    int m_balance;
};

Bank.cpp

#include "stdafx.h"
#include "Bank.h"
using namespace std;

//析构和构造函数
Bank::Bank()
{

}

Bank::Bank(int balance, int len){
    m_balance = balance;
    m_name = new char[len];
}

Bank::~Bank()
{
    delete[] m_name;
    m_name = NULL;
}

//行为
void Bank::save(int money){
    m_balance += money;
    cout << m_name << "存入:" << money << "余额:" << m_balance << endl;
}
void Bank::draw(int money){
    m_balance -= money;
    cout << m_name << "取出:" << money << "余额:" << m_balance << endl;
}
void Bank::show(){
    cout << m_name << "账户余额:" << m_balance << endl;
}

//工具
char * Bank::getName(){
    //cout << *m_name << endl;
    return m_name;
}
void Bank::setName(char *name){
    m_name = name;
}

main.cpp

// 构造析构函数23期92子羽.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "Bank.h"

int _tmain(int argc, _TCHAR* argv[])
{
    int len = 20;
    Bank icbc(2000,len);
    icbc.setName("ICBC");
    icbc.save(1000);
    icbc.draw(500);
    icbc.show();
    cout << icbc.getName() << endl;

    Bank *abc = new Bank(3000,len);
    abc->setName("ABC");
    abc->save(2000);
    abc->draw(1000);
    abc->show();
    cout << abc->getName() << endl;


    return 0;
}

相关文章

网友评论

      本文标题:将银行名字和余额在实例化的时候可以初始化。 要求名字用动态内存分

      本文链接:https://www.haomeiwen.com/subject/kntbsftx.html