C++主函数无法调用类中的函数
写在用一个文件时显示得出来,但分成执行文件和头文件后,main.cpp里的主函数调用不了其他文件里的函数了,但是可以编译,就是无法调用。
#include "aaa.h"
#include "interface.h"
void main()
{
caozuo aa;
people bb;
Admin b1;
int ff=1;
int shuru1;//输入选择数字
int shuru2;//输入选择数字
char a[]={"1管理端登陆"};
char b[]={"2学生端登陆"};
char c[]={"1查看成绩"};
char d[]={"2查询成绩"};
char e[]={"1查看成绩"};
char f[]={"2查询成绩"};
char g[]={"3录入成绩"};
char h[]={"4修改成绩"};
char i1[]={"5删除信息"};
char k[]={"6插入信息"};
Cinterface face1;
Cinterface1 face2;
do{
face1.interface1(a,b);//主界面
cout<<"请输入选项:a";
cin>>shuru1;
bb.crv();
switch(shuru1)
{
case 1:face2.interface1(c,d);/*以上为虚函数,学生端界面*/break;
case 2:face2.interface1(e,f,g,h,i1,k);break;//管理端界面
case 0:cout<<"任意键退出"<<endl;
}
cout<<"请输入选项:b"<<endl;
cin>>shuru2;
switch(shuru2)
{
case 1:
aa.Sort(stud); /*按平均分对成绩记录项进行降序排序,并输出*/
cout<<"\t\t\t";
system("pause");
break;
case 2:
aa.Lookup(stud); /*查找学生成绩*/
cout<<"\t\t\t";
system("pause");
break;
case 3:
{
b1.Input(stud);
aa.Statistic(stud);
}/*输入学生成绩*/
break;
case 4:
b1.Modify(stud); /*修改学生成绩*/
cout<<"\t\t\t";
system("pause");
break;
case 5:
b1.Delete(stud); /*按学号查找,删除学生信息*/
cout<<"\t\t\t";
system("pause");
break;
case 6:
b1.Insert(stud);/*增加学生成绩*/
cout<<"\t\t\t";
system("pause");
break;
case 0:
cout<<endl<<" 感谢您使用学生成绩管理系统"<<endl;
cout<<"\t\t\t";
system("pause");
ff=0;
}
}while(ff==1);
}
interface.h里写的是操作界面的输出,想把参数传过去~~~求解答....
[解决办法]
怎么个“无法调用”?
链接出错?还是调用结果不对?
[解决办法]
检查一下 aaa.cpp 里面有 #include"aaa.h" 语句没?
检查一下 interface.cpp 里面 #include "interface.h" 语句没?
[解决办法]
包含进工程没有?
[解决办法]
多重定义了吧,
用上条件编译再试一试
[解决办法]
把cpp文件添加到工程中就ok了。
[解决办法]
要看看具体出错才能知道什么原因