当前位置: 首页 > wzjs >正文

网站长尾词企业建网站服务

网站长尾词,企业建网站服务,司瓦图网站,百度账号怎么改名字全局函数类内实现-直接在类内声明友元即可全局函数类外实现-需要提前让编译器知道全局函数的存在#include <iostream> using namespace std;//通过全局函数来打印Person的信息template<class T1,class T2> class Person{//全局函数&#xff0c;类内实现friend void…

全局函数类内实现-直接在类内声明友元即可

全局函数类外实现-需要提前让编译器知道全局函数的存在

#include <iostream>
using namespace std;//通过全局函数来打印Person的信息template<class T1,class T2>
class Person{//全局函数,类内实现friend void printPerson(Person<T1,T2> p){cout << "姓名:" << p.m_Name << " 年龄:" << p.m_Age << endl;}public:Person(T1 name,T2 age){this->m_Name=name;this->m_Age=age;}private:T1 m_Name;T2 m_Age;};
//1.全局函数在类内实现
void test01()
{Person<string,int> p("Tom",20);printPerson(p);
}
int main()
{test01();return 0;
}

你看,其实一开始m_Name和m_Age是一个私有的属性,因为其前面有private关键字,因此前面加上friend,也就是友元的全局函数才能访问这个私有属性。

全局函数在类外实现的时候

#include <iostream>
using namespace std;//通过全局函数来打印Person的信息
template<class T1,class T2>
class Person{//全局函数,类内实现friend void printPerson2(Person<T1,T2> p);// {//     cout << "姓名:" << p.m_Name << " 年龄:" << p.m_Age << endl;// }public:Person(T1 name,T2 age){this->m_Name=name;this->m_Age=age;}private:T1 m_Name;T2 m_Age;};
//1.全局函数在类内实现
// void test01()
// {
//     Person<string,int> p("Tom",20);
//     printPerson(p);
// }
//2.全局函数在类外实现,因为这是一个全局函数,因此其没有必要加作用域
template<class T1,class T2>
void printPerson2(Person<T1,T2> p)
{cout << "类外实现的姓名:" << p.m_Name << " 类外实现的年龄:" << p.m_Age << endl;
}
//全局函数在类外实现的测试
void test02()
{Person<string,int> p("Jerry",28);printPerson2(p);
}
int main()
{test02();return 0;
}

其会出现一个无法解析的错误。

    friend void printPerson2(Person<T1,T2> p);

这是一个普通函数的函数声明。

但是下面这是一个函数模版的实现,因此就导致了这两个不是一个东西。因此我们需要告诉编译器这是一个函数模版的声明。

//2.全局函数在类外实现,因为这是一个全局函数,因此其没有必要加作用域
template<class T1,class T2>
void printPerson2(Person<T1,T2> p)
{cout << "类外实现的姓名:" << p.m_Name << " 类外实现的年龄:" << p.m_Age << endl;
}
#include <iostream>
using namespace std;template<class T1,class T2>
class Person;template<class T1,class T2>
void printPerson2(Person<T1,T2> p)
{cout << "类外实现的姓名:" << p.m_Name << " 类外实现的年龄:" << p.m_Age << endl;
}//通过全局函数来打印Person的信息
template<class T1,class T2>
class Person{//全局函数,类内实现//加空模版的参数列表friend void printPerson2(Person<T1,T2>p){cout << "姓名:" << p.m_Name << " 年龄:" << p.m_Age << endl;}friend void printPerson2<>(Person<T1,T2> p);public:Person(T1 name,T2 age){this->m_Name=name;this->m_Age=age;}private:T1 m_Name;T2 m_Age;};
//1.全局函数在类内实现
// void test01()
// {
//     Person<string,int> p("Tom",20);
//     printPerson(p);
// }
//2.全局函数在类外实现,因为这是一个全局函数,因此其没有必要加作用域
template<class T1,class T2>
void printPerson2(Person<T1,T2>& p)
{cout << "类外实现的姓名:" << p.m_Name << " 类外实现的年龄:" << p.m_Age << endl;
}
//全局函数在类外实现的测试
void test02()
{Person<string,int> p("Jerry",28);printPerson2(p);
}
int main()
{test02();return 0;
}

一般没有特殊需求的话,直接就写全局函数配合类内实现就完事儿了,用法非常简单,而且编译器可以直接识别。


文章转载自:

http://vXpaBx5S.mmtbn.cn
http://oZTytTN4.mmtbn.cn
http://NQxYJDa6.mmtbn.cn
http://bPJd4J1b.mmtbn.cn
http://zkVS3Qal.mmtbn.cn
http://O2C3MXTE.mmtbn.cn
http://EDwDSr8L.mmtbn.cn
http://ftiJYO3b.mmtbn.cn
http://cobG0LNh.mmtbn.cn
http://Dt2DEuc0.mmtbn.cn
http://uHE83LpU.mmtbn.cn
http://0zfRKtSs.mmtbn.cn
http://qT3wsbK1.mmtbn.cn
http://wSL743lB.mmtbn.cn
http://Qw00WwwY.mmtbn.cn
http://5BtGAwix.mmtbn.cn
http://mMwrEziA.mmtbn.cn
http://HfWNZzTe.mmtbn.cn
http://BUA9cgMF.mmtbn.cn
http://DWPJgYew.mmtbn.cn
http://CfPU7yHl.mmtbn.cn
http://4ZacKkPn.mmtbn.cn
http://idL8BxvO.mmtbn.cn
http://ShGRos6c.mmtbn.cn
http://1WHw3C4H.mmtbn.cn
http://qU1fEHuz.mmtbn.cn
http://FrZQpu3Q.mmtbn.cn
http://lcCXGDDt.mmtbn.cn
http://p7bCjuW6.mmtbn.cn
http://Aby09JKB.mmtbn.cn
http://www.dtcms.com/wzjs/632423.html

相关文章:

  • 12306网站是阿里做的wordpress站点赏析
  • 网站速度慢如何做优化网站开发需要考虑哪些方面
  • 建一个网站的手机电脑能制作网页的软件是
  • 贵阳网站制作费用网站美工如何做
  • 有没有做链接的网站吗规模以上工业企业的标准
  • 可信网站认证必须做吧如何制作属于自己的网页
  • html5彩票网站模板wordpress seo 设置
  • 重新建设网站的请示网站建设属于技术开发吗
  • 徐州社交网站嵌入式和单片机的区别
  • 嘉兴网站搭建北京微网站建设设计服务
  • 怎样做自己的加密网站网络服务模型
  • WordPress修改网站背景2023年8月新冠
  • 番禺网站建设公司哪家好深圳专业网站
  • 网站开发的发展jsp商务网站建设
  • ip域名找网站服装店网站建设规划书
  • 建立门户公司网站进出口代理公司
  • 包头教育平台网站建设郑州商城网站开发
  • 南昌专业网站建设公司哪家好用易语言做抢购网站软件
  • 做图片网站会被wordpress 图片太大
  • 国外做电子元器件在哪个网站优良的定制网站建设公司
  • 永明投资建设有限公司网站wordpress设置登录背景图片
  • 注销备案号 网站泰安房产网签查询
  • 三亚制作网站张店免费做网站
  • 苏州官方网站建站百度权重提升
  • 网站文件夹没有权限设置seo优化排名技术百度教程
  • 网站黑名单查询网站建设学校培训学校
  • 外国网站设计风格佛山哪家网站建设比较好
  • 长沙企业网站建设优度网络管理系统的基本组件包含哪些
  • 福安做网站最好营销策划的十个步骤
  • 江苏省和住房城乡建设厅网站首页网站开发 项目介绍