我是一名 C# 程序员,试图通过 C++ 创建 Windows 窗体应用程序。
我有一个使用用户创建的类的 Windows 窗体。基本上我正在尝试使用一个带参数的构造函数,但是我的表单不允许我用参数初始化对象。这是代码,希望有人可以向我解释这个问题,因为我完全感到困惑......
这是我的头文件:BankAcct.h
public ref class BankAcct
{
private:
int money;
public:
BankAcct();
BankAcct(int);
void Deposit(int);
void GetBalance(int&);
};
还有我的定义文件:BankAcct.cpp
#include "StdAfx.h"
#include "BankAcct.h"
BankAcct::BankAcct()
{
money = 0;
}
BankAcct::BankAcct(int startAmt)
{
money = startAmt;
}
void BankAcct::Deposit(int depAmt)
{
money += depAmt;
}
void BankAcct::GetBalance(int& balance)
{
balance = money;
}
最后是我的主要形式。当然,不会复制整个内容,但我正在尝试声明新的银行帐户对象,并以 50 美元的余额开始。
private:
BankAcct myAccount(50); //does not work! WHY??
//private:
//BankAcct myAccount; //works
然后在表单构造函数中我的代码是这样的:
public:
frmBank(void)
{
InitializeComponent();
int bal;
myAccount.GetBalance(bal);
lblBankBalance->Text += Convert::ToString(bal);
}
我已经在我的 frmBank.h 顶部包含了 BankAcct.h 文件,我在这里做错了什么?如果我使用默认构造函数(将银行余额从零开始的构造函数),效果会很好。我收到以下错误消息:
错误 C2059:语法错误:“常量”
和
错误 C2228:“.GetBalance”左侧必须有类/结构/联合
感谢您对此提供的任何帮助!