class - Trouble with abstract classes in c++ -


main:

#include <iostream> #include <string> #include "servicechargechecking.h"  int main() {     servicechargechecking newaccount("crim", 111222, 50.00, 100, 1.00);        system("pause");     return 0; } 

servicechargechecking.h:

#ifndef h_servicechargechecking #define h_servicechargechecking  #include "checkingaccount.h" #include <string>   class servicechargechecking: public checkingaccount { public:     void setmonthlyfee(double);     void writecheck(int);     void getmonthlystatement() const;     servicechargechecking(std::string =" ",int = 0, double = 0.00, int= 0, double =     0.00); private:     double servicecharge;  }; #endif 

servicechargechecking.cpp:

#include "servicechargechecking.h" #include <iostream>  using std::string;   void servicechargechecking::setmonthlyfee(double fee) {     servicecharge=fee; } void servicechargechecking::getmonthlystatement() const {     checkingaccount::getmonthlystatement();     std::cout<< "service charge: " << servicecharge << std::endl; } void servicechargechecking::writecheck(int ammount) {     if(checkingaccount::getchecks()>0)     {         checkingaccount::setchecks(checkingaccount::getchecks()-ammount);     }     else     {         std::cout<<"no checks available." << std::endl;     } } servicechargechecking::servicechargechecking(string name, int acct, double bal, int numcheck, double scharge) {     bankaccount::setacctownersname(name);     bankaccount::setacctnum(acct);     bankaccount::setbalance(bal);     checkingaccount::setchecks(numcheck);     servicecharge=scharge; } 

checkingaccount.h:

#ifndef h_checkingaccount #define h_checkingaccount #include "bankaccount.h" #include <iostream>  class checkingaccount: public bankaccount { public:     virtual void writecheck()=0;     void deposit(double);     void withdraw(double);     void getmonthlystatement() const;     int getchecks();     void setchecks(int);  private:     int numchecks; }; #endif 

checkingaccount.cpp:

#include "checkingaccount.h" #include <iostream>  int checkingaccount::getchecks() {     return numchecks; } void checkingaccount::setchecks(int c) {     numchecks=c; } void checkingaccount::deposit(double d) {     bankaccount::setbalance(bankaccount::getbalance()+d); } void checkingaccount::withdraw(double w) {     bankaccount::setbalance(bankaccount::getbalance()-w); } void checkingaccount::getmonthlystatement() const {      bankaccount::getmonthlystatement(); } 

bankaccount.h:

#ifndef h_bankaccount #define h_bankaccount #include <string>  class bankaccount { public:     std::string getacctownersname() const;     int getacctnum() const;     double getbalance() const;     void getmonthlystatement() const;      void setacctownersname(std::string);     void setacctnum(int);     void setbalance(double);      virtual void withdraw(double)=0;     virtual void deposit(double)=0; private:     std::string acctownersname;     int acctnum;     double acctbalance; }; #endif 

bankaccount.cpp:

#include "bankaccount.h" #include <iostream> using std::string;   string bankaccount::getacctownersname() const {     return acctownersname; } int bankaccount::getacctnum() const {     return acctnum; } double bankaccount::getbalance() const {     return acctbalance; } void bankaccount::setacctownersname(string name) {     acctownersname=name; } void bankaccount::setacctnum(int num) {     acctnum=num; } void bankaccount::setbalance(double b) {     acctbalance=b; } void bankaccount::getmonthlystatement() const {     std::cout << "name on account: " << getacctownersname() << std::endl;     std::cout << "account id: " << getacctnum() << std::endl;     std::cout << "balance: " << getbalance() << std::endl; } 

i know lot of code go through can me understand why cannot create object class servicechargechecking error telling me cannot create object abstract class doesn't seem abstract me.

it's because checkingacount has writecheck() , servicechargechecking has writecheck(int);


Comments

Popular posts from this blog

java - Jmockit String final length method mocking Issue -

asp.net - Razor Page Hosted on IIS 6 Fails Every Morning -

c++ - wxwidget compiling on windows command prompt -