C++控制对类的私有部分的访问、通常公有类的方法提供唯一的途径,但是有些时候这种限制太严格,以至于不适合特定的编程问题,在这种情况下C++提供了另外一种形式的访问权限,友元。
#include <iostream>
#include <string>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class Test{
private:
int id;
string name;
int age;
public:
Test(){
cout<<"无参数构造函数"<<endl;
}
Test(int i,string names):id(i),name(names){
id=i;
name=names;
cout<<"有参数构造函数"<<endl;
}
friend double ope(string print);
};
double ope(string print){
cout<<"print::"<<print<<endl;
return 2;
}
int main(int argc, char** argv) {
Test test,test1(32,"小余");
ope("友元函数的学习笔记");
return 0;
}
总之:友元函数不是成员函数,其访问权限和成员函数的权限相同
不知道最近怎么了又坚持不下去了好长时间没写博客了也不学习C++了,今晚有开始接着学习友元就随便写了个小例子。
#include <iostream>
#include <string>
using namespace std;
class Students{
private:
int id;
string name;
int age;
public:
Students(){
cout<<"ÎÞ²ÎÊý¹¹Ôì·½·¨"<<endl;
}
Students(int ids,string names,int ages):id(ids),name(names),age(ages)
{
cout<<"ÓвÎÊýµÄ¹¹Ôì·½·¨"<<endl;
}
friend double getStudents();
};
double getStudents(){
cout<<"ÕâÊÇÓÑÔªº¯Êý"<<endl;
return 35;
}
int main(){
Students stu,stus(1,"ÕÅÈý",25);
getStudents();
return 0;
}