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

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容