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

建网站 服务器个人如何做网站

建网站 服务器,个人如何做网站,宜宾网站优化,免费发布卖车信息网站一、类模板与继承 当类模板碰到继承时,需要注意一下几点: 1.当子类继承的父类是一个类模板时,子类在声明的时候,要指定出父类中T的类型 2.如果不指定,编译器无法给子类分配内存 3.如果想灵活指定出父类中T的类型&a…

一、类模板与继承

当类模板碰到继承时,需要注意一下几点:

1.当子类继承的父类是一个类模板时,子类在声明的时候,要指定出父类中T的类型

2.如果不指定,编译器无法给子类分配内存

3.如果想灵活指定出父类中T的类型,子类也需变为类模板

#include<iostream>
using namespace std;//类模板与继承template<class T>
class Base
{T m;
};//class Son :public Base //错误,必须要直到父类中的T类型(分配内存),才能继承给子类
class Son :public Base<int>//必须指定一个类型
{};void test01()
{Son s1;
}//如果想灵活指定父类中T类型,子类也需要变类模板
template<class T1,class T2>
class Son2 :public Base<T2>
{
public:Son2(){cout << "T1的类型为: " << typeid(T1).name() << endl;cout << "T2的类型为: " << typeid(T2).name() << endl;}T1 obj;
};void test02()
{Son2<int, char>s2;
}int main()
{test01();test02();return 0;
}

二、 类模板成员函数类外实现

#include<iostream>
using namespace std;
#include<string>//类模板成员函数类外实现
template<class T1, class T2>
class Person
{
public:Person(T1 name, T2 age);//类内声明//{//	this->m_Name = name;//	this->m_Age = age;//}void showPerson();//类内声明//{//	cout << "姓名: " << this->m_Name << " 年龄: " << this->m_Age << endl;//}T1 m_Name;T2 m_Age;
};//构造函数 类外实现
template<class T1, class T2>
Person<T1, T2>::Person(T1 name, T2 age) 
{this->m_Name = name;this->m_Age = age;
}//成员函数 类外实现
template<class T1, class T2>
void Person<T1, T2>::showPerson()
{cout << "姓名: " << this->m_Name << " 年龄: " << this->m_Age << endl;
}void test()
{Person<string, int>P("Tom", 20);P.showPerson();
}int main()
{test();return 0;
}

总结:类模板中成员函数类外实现时,需要加上模板参数列表 

三、类模板全局函数的类内类外实现

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

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

#include<iostream>
using namespace std;
#include<string>//通过全局函数来打印 Person 信息//提前让编译器知道 Person 类的存在
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;
}template<class T1,class T2>
class Person
{//全局函数 类内实现friend void printPerson1(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", 18);printPerson1(p);
}//2.全局函数在类外实现
void test02()
{Person<string, int>p("Jerry", 18);printPerson2(p);
}int main()
{//test01();test02();return 0;
}

总结:建议全局函数做类内实现,用法简单,而且编译器可以直接识别

http://www.yayakq.cn/news/526171/

相关文章:

  • 做网站兼容ieWordPress文章文字改颜色
  • 嘉兴信息网站活动推广朋友圈文案
  • 云南学校 手机网站建设制作企业宣传片的厂家
  • 济南定制网站建设wordpress用户个人主页
  • 东莞北京网站建设在线编程课哪个比较好
  • 建站赚钱灰色软件开发咨询服务
  • youku网站开发技术南通启益建设集团有限公司网站
  • 在国外做盗版网站网站品牌词优化怎么做
  • 怎么用代码做网站推荐网站流量与带宽
  • 做化工的外贸网站都有什么意思美容行业手机网站模版
  • 海口智能建站模板怎样做推广营销
  • 常平众展做网站asp.net做简易网站
  • 网站页面在线设计珠宝网站方案
  • 长沙专业网站设计服务谷歌seo优化推广
  • 四川网站建设贴吧wordpress禁止外链
  • 新乡网站开发的公司公司企业邮箱是什么
  • 做国际网站阿里巴巴百度热搜排名
  • 电子商城网站开发多少钱中国建设银行官网登陆
  • 建站优化易下拉系统三原做网站
  • 网站的二级页面在哪里做wordpress中文二次元
  • 江苏泰州建设局网站wordpress实现轮播图
  • 网站信息备案查询广告推广怎么做最有效
  • 快速网站优化哪家好小说短篇做的好的网站
  • 企业网站建设原则是南宁开发公司
  • 企业软文范例最适合seo的wordpress主题
  • 工作室 网站经营性备案河南省招生网站服务平台
  • 南昌网优化网站设计公司开发一个跑腿app需要多少钱
  • 做网站全体教程seo公司品牌哪家好
  • 营销型网站开发定制赞助网站怎么做
  • 如何创建一个企业网站上海工商信息查询官网