class Account
{
public:
Account(double InitialBalance)
{ balance = InitialBalance; }
double GetBalance()
{ return balance; }
private:
double balance;
};
double Account = 15.37;
void main()
{
class Account checkingA(account);//声明一个返回值为类Account类型的函数。对吗?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Account * checkingB = new class Account(Account);//什么意思?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
}
{
public:
Account(double InitialBalance)
{ balance = InitialBalance; }
double GetBalance()
{ return balance; }
private:
double balance;
};
double Account = 15.37;
void main()
{
class Account checkingA(account);//声明一个返回值为类Account类型的函数。对吗?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class Account * checkingB = new class Account(Account);//什么意思?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
}
这句是在栈(stack)中构造一个class Account的实例,就像下面语句:
char c;
括号中的account(应该是Account,即double型变量Account)是因为class
Account的构造函数需要一个double变量做参数。2)class Account * checkingB = new class Account(Account);
这句是在堆(heap)中构造一个class Account的实例,就像下面语句:
char* c = new char;
括号中的Account(即double型变量Account)是因为class
Account的构造函数需要一个double变量做参数。3)总之一句话,构造函数的需要