请教一下,Teacher类的count()函数里我应该怎么改才能调用Calculate类的calc()函数

#include"iostream"
#include <fstream>
#include<string.h>
#include"stdlib.h"
#define MAX 100
using namespace std;
class person
{
public:
    int num;
    char name[20];
    char sex[4];
    int age;
};
class  Calculate
{
private:
    int i,j1,j2;
public:
     void calc();
};
//Teacher class
class Teacher:virtual public person
{
public:
    char dept[20];
    char special[20];
    char title[20];
    void Input()
    {
        cout<<"Input num:";cin>>num;
        cout<<"Input name:";cin>>name;
        cout<<"Input sex:";cin>>sex;
        cout<<"Input age:";cin>>age;
        cout<<"Input dept:";cin>>dept;
        cout<<"Input special:";cin>>special;
        cout<<"Input title:";cin>>title;
    }
    void Output()
    {
        cout<<"编号: "<<num<<"  "<<"姓名: "<<name<<"  "<<"性别: "<<sex<<"  "<<"年龄: "<<age<<
            "  "<<"所在系: "<<dept<<"  "<<"专业: "<<special<<"  "<<"职称: "<<title<<endl;
    }
};

Teacher Tea[MAX];
static int Teatop;



class TeaManager:public Calculate
{
public:
    int Add();
    int Search();
    void Show();
    void Edit();
    int Delete();
    void Save();
    void Read();
    void count();
};
int TeaManager::Add()
{
    Teacher t;
    int i,nu;
    if(Teatop==MAX) 
    {cout<<"人数已满"<<endl;
    return 0;
    }
    cout<<"请输入编号:";cin>>nu;
    for(i=0;i<Teatop;i++)
    {
        if(nu==Tea[i].num)
        {cout<<"已有编号,请从输入"<<endl;
        return 0;
        }

    }
    t.Input();Tea[Teatop]=t;Teatop++;
    cout<<"添加成功!"<<endl;

    return 1;
}
int TeaManager::Search()
{
    int j,n;
    cout<<"请输入编号:";cin>>n;
    for(j=0;j<Teatop;j++)
    {
        if(n==Tea[j].num) break;
    }
    if(j==Teatop)
        cout<<"没有此人!"<<endl;
    else
        Tea[j].Output();
    return 1;
}
void TeaManager::Show()
{

    int i;
    if(Teatop==0)
    {cout<<"记录为空!"<<endl; return;}
    for(i=0;i<Teatop;i++)
            Tea[i].Output();
}
void TeaManager::Edit()
{
    Teacher t1;
    int j,n;
    cout<<"请输入要编辑的人的编号:";cin>>n;
    for(j=0;j<Teatop;j++)
    {
        if(n==Tea[j].num) break;
    }
    if(j==Teatop)
    {cout<<"没有此人!"<<endl;return;};
    cout<<"输入修改后的信息,编号不能改:"<<endl;
    t1.Input();
    Tea[j]=t1;
    cout<<"编辑成功!"<<endl;
}
int TeaManager::Delete()
{
    int j,n;
    cout<<"请输入要删除的人的编号:";cin>>n;
    for(j=0;j<Teatop;j++)
    {
        if(n==Tea[j].num) break;
    }
    if(j==Teatop)
    {cout<<"没有此人!"<<endl;return 0;};
    for(j;j<Teatop;j++)
    {
        Tea[j]=Tea[j+1];
    }
    Teatop--;
    cout<<"删除成功!"<<endl;
    return 1;
}
void TeaManager::Save()
{
    int i;
    ofstream outfile,outfile1;   
    outfile1.open("Teatop.dat",ios::out);
    outfile1<<Teatop;
    outfile.open("Tea_data.dat",ios::binary);   
       if(!outfile)
       {cerr<<"open error!"<<endl; return; }
       for(i=0;i<Teatop;i++)
           outfile.write((char *)&Tea[i],sizeof(Tea[i])); 
       outfile.close();   
       cout<<"保存成功!"<<endl;
} 
void TeaManager::Read()
{
    int i;
    ifstream infile,infile1; 
    infile1.open("Teatop.dat",ios::in);
    infile1>>Teatop;
    infile.open("Tea_data.dat",ios::binary);   
       if(!infile)
       {cerr<<"open error!"<<endl; return; }
       for(i=0;i<Teatop;i++)
           infile.read((char *)&Tea[i],sizeof(Tea[i])); 
       infile.close();  
       cout<<"读取成功!"<<endl;
} 
void TeaManager::count()
{
    Calculate.calc();
}
void Tea_mune(TeaManager TM)
{
    int b;
    char c;
    do{
        cout<<"教师管理"<<endl;
        cout<<"=========================================================================================="<<endl;
        cout<<"1.添加    ";
        cout<<"2.查询    ";
        cout<<"3.显示    ";
        cout<<"4.编辑    ";
        cout<<"5.删除    ";
        cout<<"6.统计    ";
        cout<<"7.保存    ";
        cout<<"8.读取    ";
        cout<<"0.退出 |"<<endl;
        cout<<"=========================================================================================="<<endl;
        cout<<"请选择:";cin>>b;
        switch(b)
        {
        case 1:TM.Add();break;
        case 2:TM.Search();break;
        case 3:TM.Show();break;
        case 4:TM.Edit();break;
        case 5:TM.Delete();break;
        case 6:TM.count();break;
        case 7:TM.Save();break;
        case 8:TM.Read();break;
        default:cout<<"\n error"<<endl;break;
        case 0:break;
        }
        cout<<"按回车键继续"<<endl;
        system("pause");
        c=getchar();
        system("cls");
    }while(b!=0);
}
void  Calculate calc()
    {
        int j1=0,j2=0;
        i=Teatop
            for(i=0;i<Teaptop;i++)
    {
        if(strcmp(Teap[i].sex,"F")==0)
            j2++;
        else 
            j1++;
    }
            
        cout<<"总人数: "<<i<<endl;
    };

int main()
{
    TeaManager Tmer1;
    TestManager Tetmer;
    PolicerManager Polimer;
    TeaPolicerManager TeaPolimer;
    int a=1,m=0;
    char c;
    cout<<"    *************************************";
    cout<<endl<<"    $         高校人员管理系统         $"<<endl;
    cout<<"    *************************************";
    cout<<endl<<"请输入密码:";cin>>m;

    if(m!=666) 
    {
        cout<<"密码错误!"<<endl;
        system("pause");
        c=getchar();
        return 0;
    }

    while(a)
    {
        system("cls");
        cout<<endl;
        cout<<"              ****欢迎使用高校人员信息管理系统****"<<endl;
        cout<<"               ================================="<<endl;
        cout<<"               | 1.教师管理                    |"<<endl;
        cout<<"               | 2.实验员管理                  |"<<endl;
        cout<<"               | 3.行政员管理                  |"<<endl;
        cout<<"               | 4.教师兼行政员管理            |"<<endl;
        cout<<"               | 0.退出                        |"<<endl;
        cout<<"               ================================="<<endl;
        cout<<"请选择:";cin>>a;    

        switch(a)
        {
        case 1:Tea_mune(Tmer1);break;
        case 2:Test_mune(Tetmer);break;
        case 3:Policers_mune(Polimer);break;
        case 4:TeaPolicers_mune(TeaPolimer);break;
        case 0:break;
        default:cout<<"\n error"<<endl;
        cout<<"按回车键继续"<<endl;
        system("pause");
        c=getchar();         
        break;
        }
    }

    cout<<endl<<"谢谢使用"<<endl;
    system("pause");
    c=getchar();
    return 0;
}


#include <iostream>
#include <fstream>
#include<string.h>
#include"stdlib.h"
#define MAX 100
using namespace std;
class person
{
public:
    int num;
    char name[20];
    char sex[4];
    int age;
};
class  Calculate
{
private:
    int i, j1, j2;
public:
    void calc();
};
//Teacher class
class Teacher : virtual public person
{
public:
    char dept[20];
    char special[20];
    char title[20];
    void Input()
    {
        cout << "Input num:"; cin >> num;
        cout << "Input name:"; cin >> name;
        cout << "Input sex:"; cin >> sex;
        cout << "Input age:"; cin >> age;
        cout << "Input dept:"; cin >> dept;
        cout << "Input special:"; cin >> special;
        cout << "Input title:"; cin >> title;
    }
    void Output()
    {
        cout << "编号: " << num << "  " << "姓名: " << name << "  " << "性别: " << sex << "  " << "年龄: " << age <<
            "  " << "所在系: " << dept << "  " << "专业: " << special << "  " << "职称: " << title << endl;
    }
};
Teacher Tea[MAX];
static int Teatop;

class TeaManager :public Calculate
{
public:
    int Add();
    int Search();
    void Show();
    void Edit();
    int Delete();
    void Save();
    void Read();
    void count();
};
int TeaManager::Add()
{
    Teacher t;
    int i, nu;
    if (Teatop == MAX)
    {
        cout << "人数已满" << endl;
        return 0;
    }
    cout << "请输入编号:"; cin >> nu;
    for (i = 0; i < Teatop; i++)
    {
        if (nu == Tea[i].num)
        {
            cout << "已有编号,请从输入" << endl;
            return 0;
        }
    }
    t.Input(); Tea[Teatop] = t; Teatop++;
    cout << "添加成功!" << endl;
    return 1;
}
int TeaManager::Search()
{
    int j, n;
    cout << "请输入编号:"; cin >> n;
    for (j = 0; j < Teatop; j++)
    {
        if (n == Tea[j].num) break;
    }
    if (j == Teatop)
        cout << "没有此人!" << endl;
    else
        Tea[j].Output();
    return 1;
}
void TeaManager::Show()
{
    int i;
    if (Teatop == 0)
    {
        cout << "记录为空!" << endl; return;
    }
    for (i = 0; i < Teatop; i++)
        Tea[i].Output();
}
void TeaManager::Edit()
{
    Teacher t1;
    int j, n;
    cout << "请输入要编辑的人的编号:"; cin >> n;
    for (j = 0; j < Teatop; j++)
    {
        if (n == Tea[j].num) break;
    }
    if (j == Teatop)
    {
        cout << "没有此人!" << endl; return;
    };
    cout << "输入修改后的信息,编号不能改:" << endl;
    t1.Input();
    Tea[j] = t1;
    cout << "编辑成功!" << endl;
}
int TeaManager::Delete()
{
    int j, n;
    cout << "请输入要删除的人的编号:"; cin >> n;
    for (j = 0; j < Teatop; j++)
    {
        if (n == Tea[j].num) break;
    }
    if (j == Teatop)
    {
        cout << "没有此人!" << endl; return 0;
    };
    for (j; j < Teatop; j++)
    {
        Tea[j] = Tea[j + 1];
    }
    Teatop--;
    cout << "删除成功!" << endl;
    return 1;
}
void TeaManager::Save()
{
    int i;
    ofstream outfile, outfile1;
    outfile1.open("Teatop.dat", ios::out);
    outfile1 << Teatop;
    outfile.open("Tea_data.dat", ios::binary);
    if (!outfile)
    {
        cerr << "open error!" << endl; return;
    }
    for (i = 0; i < Teatop; i++)
        outfile.write((char*)&Tea[i], sizeof(Tea[i]));
    outfile.close();
    cout << "保存成功!" << endl;
}
void TeaManager::Read()
{
    int i;
    ifstream infile, infile1;
    infile1.open("Teatop.dat", ios::in);
    infile1 >> Teatop;
    infile.open("Tea_data.dat", ios::binary);
    if (!infile)
    {
        cerr << "open error!" << endl; return;
    }
    for (i = 0; i < Teatop; i++)
        infile.read((char*)&Tea[i], sizeof(Tea[i]));
    infile.close();
    cout << "读取成功!" << endl;
}
void TeaManager::count()
{
    Calculate::calc();
}
void Tea_mune(TeaManager& TM)
{
    int b;
    char c;
    do {
        cout << "教师管理" << endl;
        cout << "==========================================================================================" << endl;
        cout << "1.添加    ";
        cout << "2.查询    ";
        cout << "3.显示    ";
        cout << "4.编辑    ";
        cout << "5.删除    ";
        cout << "6.统计    ";
        cout << "7.保存    ";
        cout << "8.读取    ";
        cout << "0.退出 |" << endl;
        cout << "==========================================================================================" << endl;
        cout << "请选择:"; cin >> b;
        switch (b)
        {
        case 1:TM.Add(); break;
        case 2:TM.Search(); break;
        case 3:TM.Show(); break;
        case 4:TM.Edit(); break;
        case 5:TM.Delete(); break;
        case 6:TM.count(); break;
        case 7:TM.Save(); break;
        case 8:TM.Read(); break;
        default:cout << "\n error" << endl; break;
        case 0:break;
        }
        cout << "按回车键继续" << endl;
        system("pause");
        c = getchar();
        system("cls");
    } while (b != 0);
}
void Calculate::calc()
{
//     int j1 = 0, j2 = 0;
//     i = Teatop
//         for (i = 0; i < Teaptop; i++)
//         {
//             if (strcmp(Teap[i].sex, "F") == 0)
//                 j2++;
//             else
//                 j1++;
//         }
//     cout << "总人数: " << i << endl;
}
int main()
{
    TeaManager Tmer1;
    //TestManager Tetmer;
    //PolicerManager Polimer;
    //TeaPolicerManager TeaPolimer;
    int a = 1, m = 0;
    char c;
    cout << "    *************************************";
    cout << endl << "    $         高校人员管理系统         $" << endl;
    cout << "    *************************************";
    cout << endl << "请输入密码:"; cin >> m;
    if (m != 666)
    {
        cout << "密码错误!" << endl;
        system("pause");
        c = getchar();
        return 0;
    }
    while (a)
    {
        system("cls");
        cout << endl;
        cout << "              ****欢迎使用高校人员信息管理系统****" << endl;
        cout << "               =================================" << endl;
        cout << "               | 1.教师管理                    |" << endl;
        cout << "               | 2.实验员管理                  |" << endl;
        cout << "               | 3.行政员管理                  |" << endl;
        cout << "               | 4.教师兼行政员管理            |" << endl;
        cout << "               | 0.退出                        |" << endl;
        cout << "               =================================" << endl;
        cout << "请选择:"; cin >> a;
        switch (a)
        {
        case 1:Tea_mune(Tmer1); break;
        //case 2:Test_mune(Tetmer); break;
        //case 3:Policers_mune(Polimer); break;
        //case 4:TeaPolicers_mune(TeaPolimer); break;
        case 0:break;
        default:cout << "\n error" << endl;
            cout << "按回车键继续" << endl;
            system("pause");
            c = getchar();
            break;
        }
    }
    cout << endl << "谢谢使用" << endl;
    system("pause");
    c = getchar();
    return 0;
}

因为我这边编译不过去,我注释了一部分代码。关于你说的调用calc函数的问题,因为是继承关系,可以直接调用的calc();或者加上类名Calculate::calc();就可以了。