2012-02-21 9 views
0

私はかなりOOPとC++の方がかなり新しいので、私と一緒にご負担ください。'newacc'はクラスまたは名前空間ではありません

私はクラスを定義しようとしています。それは関数なので、それを使用します。私はこれまでに何があったのか、どこにエラーがあるのか​​を示します。呼ばれる私の最後のファイルで

Account::Account(string firstname, string lastname, string sinnumber, string acc 
{ 
fname = firstname; 
lname = lastname; 
sinnum = sinnumber; 
accttype = accounttype; 
numtrans = 0; 
balance = 0; 
} 

double Account::DepositAmt(double deposit) 
{ 
balance = balance + deposit; 
return balance; 
} 

double Account::WithdrawAmt(double withdraw) 
{ 
balance = balance - withdraw; 
return balance; 
} 


void Account::PrintStatement() 
{ 
cout << "First Name: " << fname << endl; 
cout << "Last Name: " << lname << endl; 
cout << "SIN: " << sinnum << endl; 
cout << "Account Type: " << accttype << endl; 
cout << "Total Transactions: " << numtrans << endl; 
cout << "Final balance: $" << balance << endl; 
} 

void Account::getFinalBalance() 
{ 
cout << "Your Final balance is: $" << balance << endl; 
} 

そして最後に ":私が持っている "account.cpp" と呼ばれるファイルで

#include <iostream> 
#include <string> 
using namespace std; 

class Account{ 
string fname; 
string lname; 
string sinnum; 
string accttype; 
int numtrans; 
double balance; 

public: 
Account(string,string,string,string); 
double DepositAmt(double); 
double WithdrawAmt(double); 
void PrintStatement(); 
void getFinalBalance(); 
}; 

: "account.h" 私が持っているというファイルに

ass2012.cpp "私は持っています:

#include "account.h" 
#include "account.cpp" 

int main() 
{ 
string fname, lname, sinnum, accttype; 
int tempaccttype; 


cout << "\nPlease enter your last name: " << endl; 
cin >> lname; 
cout << "\nPlease enter your SIN number: " << endl; 
cin >> sinnum; 
cout << "\nPlease choose your account type: "<< endl; 
cout << "1: Checking" << endl; 
cout << "2: Savings" << endl; 
cin >> tempaccttype; 

if (tempaccttype == 1) 
{ 
accttype = "Checking"; 
} 
else 
{ 
accttype = "Savings"; 
} 

Account newacc (fname, lname, sinnum, accttype); // HERE IS WHERE I GET THE ERROR 
newacc::getFinalStatement(); 
return 0; 
} 

私が間違っていることを教えてもらえますか?

EDIT:Thanks Naveen !!壁の上を走るのはいつも小さなことです。

答えて

5

あなたは、すなわちあなたがnewacc.getFinalBalance()を行う必要があります.オペレータはなく::演算子を使用する必要があるオブジェクトのメソッドを呼び出すためには、(メソッド名も間違っていたことに注意してください、私はここでそれを修正)。

0

私はC++とプログラミングについてはほとんど知りませんが、私も初心者です。しかし、私はnewacc :: getFinalStatement();という行を変更します。 〜newacc.getFinalStatement();これがうまくいかない場合は、わかりません。

0

一般synatxは、次のとおり

Objectname.memberfunction();  //public 
Objectname.datzmember    //public 
classname::staticmembers   //public 

::スコープ解決演算子であり、範囲のあいまいさがある場合にのみ使用されます。そうでなければ、それを使用する必要があります。プログラミングの練習としてそれを使うのは良いことです。

関連する問題