第3个回答 推荐于2017-09-03
编译环境(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私有和保护成员其函数访问;