C++工程中,如何引用另一个文件中的类?
4个回答
2014-07-30
展开全部
在.h文件中声明,在引用处包含.h文件,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
编译环境(vs2012):
map.h文件:
#include<iostream>
using namespace std;
class map{
public: int count(int a,int b);//map类方法(函数)
};
map.cpp文件:
#include"map.h"
int map::count(int a,int b){
return a+b;
}
widget.h文件:
#include<iostream>
using namespace std;
class widget{
public:int calculate(int a,int b);
};
widget.cpp文件:
#include"widget.h"
#include"map.h"
int widget::calculate(int a,int b){
map m;//实现了map实例对象m;
return m.count(a,b);//调用map类中count函数计算a+b的和
}
main.cpp文件:
#include"widget.h"
void main(){
widget w;
int a=1;
int b=2;
cout<<w.calculate(a,b)<<endl;
system("pause");
}
如果是想访问另一个类的私有成员的话,就要用到成员函数:
类A把类B声明自己友元类,类B所有函数都访问类A私有和保护成员;
类A把类B某成员函数声明自己友元函数,类B函数都访问类A私有和保护成员其函数访问;
map.h文件:
#include<iostream>
using namespace std;
class map{
public: int count(int a,int b);//map类方法(函数)
};
map.cpp文件:
#include"map.h"
int map::count(int a,int b){
return a+b;
}
widget.h文件:
#include<iostream>
using namespace std;
class widget{
public:int calculate(int a,int b);
};
widget.cpp文件:
#include"widget.h"
#include"map.h"
int widget::calculate(int a,int b){
map m;//实现了map实例对象m;
return m.count(a,b);//调用map类中count函数计算a+b的和
}
main.cpp文件:
#include"widget.h"
void main(){
widget w;
int a=1;
int b=2;
cout<<w.calculate(a,b)<<endl;
system("pause");
}
如果是想访问另一个类的私有成员的话,就要用到成员函数:
类A把类B声明自己友元类,类B所有函数都访问类A私有和保护成员;
类A把类B某成员函数声明自己友元函数,类B函数都访问类A私有和保护成员其函数访问;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询