c++ Inheritance function access

Hi, this is the problem i am having with my assignment(the code that i am going to show here is not my assignment,i just wrote this code because i am experiancing simmular problem in my assignment)

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

class Person
string name;
Person(string nam){name=nam;}
void setName(string nam){name=nam;}
string getName(){return name;}


class Account:public Person

int money;
Account(int mon,string nam):Person(nam)

int getMoney(){return money;}



#include "training.h"

int main()
Person *p;
p=new Account(500,"Hovo");

//Here p does not have access to getMoney function,i knowi can call static cast //and it works but i need to live the main just like this.
return 0;

so my question is what I am missing, why person instace which was declared to point to account does not have access to account functions, how to fix it ?

thank you.
p has type of pointer to Person. Class Person has no function getMoney.
so what can i change (not from main.cpp) to fix this problm ?
To declare this function as virtual in the base class.
Topic archived. No new replies allowed.