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

网站建设与管理培训方案wordpress建站连接数据库

网站建设与管理培训方案,wordpress建站连接数据库,wordpress会员注册插件,怎么自己免费制作app文章目录 一、类模板的运算符重载 - 函数实现 写在类外部的不同的 .h 头文件和 .cpp 代码中1、分离代码 后的 友元函数报错信息 - 错误示例Student.h 头文件内容Student.cpp 代码文件内容Test.cpp 代码文件内容执行报错信息 2、问题分析 二、代码示例 - 函数实现 写在类外部的不… 文章目录 一、类模板的运算符重载 - 函数实现 写在类外部的不同的 .h 头文件和 .cpp 代码中1、分离代码 后的 友元函数报错信息 - 错误示例Student.h 头文件内容Student.cpp 代码文件内容Test.cpp 代码文件内容执行报错信息 2、问题分析 二、代码示例 - 函数实现 写在类外部的不同的 .h 头文件和 .cpp 代码中1、完整代码示例Student.h 头文件内容Student.cpp 代码文件内容Test.cpp 代码文件内容 2、执行结果 将 类模板 函数声明 与 函数实现 分开进行编码 , 有 三种 方式 : 类模板 的 函数声明 与 函数实现 都写在同一个类中 , 也就是没有分开进行编码 ;类模板 的 函数实现 在 类外部进行 , 函数声明 和 实现 写在相同的 .cpp 源码文件中 ;类模板 的 函数实现 在 类外部进行 , 函数声明 和 实现 写在不同的 .h 和 .cpp 源码文件中 ; 在博客 【C】泛型编程 ⑨ ( 类模板的运算符重载 - 函数声明 和 函数实现 写在同一个类中 | 类模板 的 外部友元函数问题 ) 中实现了第一种情况 , 类模板 的 函数声明 与 函数实现 都写在同一个类中 , 也就是没有分开进行编码 ; 在博客 【C】泛型编程 ⑩ ( 类模板的运算符重载 - 函数实现 写在类外部的同一个 cpp 代码中 | 类模板 的 外部友元函数二次编译问题 ) 中 , 分析了 第二种情况 , 类模板 的 函数实现 在 类外部进行 , 写在 一个 cpp 源码文件中 ; 在本篇博客中 , 开始分析 第三种 情况 , 函数实现 在 类外部进行 , 函数声明 和 实现 写在不同的 .h 和 .cpp 源码文件中 ; 一、类模板的运算符重载 - 函数实现 写在类外部的不同的 .h 头文件和 .cpp 代码中 1、分离代码 后的 友元函数报错信息 - 错误示例 上一篇博客 【C】泛型编程 ⑩ ( 类模板的运算符重载 - 函数实现 写在类外部的同一个 cpp 代码中 | 类模板 的 外部友元函数二次编译问题 ) 中 , 分析了 第二种情况 , 类模板 的 函数实现 在 类外部进行 , 写在 一个 cpp 源码文件中 ; 将上述源码 分别写到 .h 头文件 , .cpp 代码文件 中 ; Student.h 头文件内容 Student.h 头文件内容 : #include iostream using namespace std;template typename T class Student {// 左移运算符重载friend ostream operator T (ostream out, Student s);public:// 构造函数Student(T x, T y);// 重载 运算符Student operator(Student s);public:T a, b; };Student.cpp 代码文件内容 Student.cpp 代码文件内容 : #include Student.h// 类模板构造函数 // 使用 StudentT:: 域操作符访问函数 template typename T StudentT::Student(T x, T y) {this-a x;this-b y; }// 重载 运算符 // 使用 StudentT:: 域操作符访问函数 template typename T StudentT StudentT::operator(StudentT s) {// 函数内部的类的 T 模板类型 , 可加 StudentT 可不加 Student// 不加 T 也可以使用 , 加了也不会报错Student student(this-a s.a, this-b s.b);return student; }// Student 类的友元函数 // 左移运算符重载 函数 template typename T ostream operator(ostream out, StudentT s) {out a: s.a b: s.b endl;return out; }Test.cpp 代码文件内容 Test.cpp 代码文件内容 : #include iostream using namespace std;#include Student.hint main() {// 模板类不能直接定义变量// 需要将 模板类 具体化之后才能定义变量Studentint s(666, 888);cout s endl;Studentint s2(222, 111);cout s2 endl;// 验证 加法运算符 重载Studentint s3 s s2;// 验证 左移运算符 重载cout s3 endl;// 控制台暂停 , 按任意键继续向后执行system(pause);return 0; }执行报错信息 执行 Test.cpp 中的 main 函数 , 报如下错误 : 1------ 已启动生成: 项目: HelloWorld, 配置: Debug Win32 ------ 1Student.cpp 1Test.cpp 1正在生成代码... 1Test.obj : error LNK2019: 无法解析的外部符号 class std::basic_ostreamchar,struct std::char_traitschar __cdecl std::(class std::basic_ostreamchar,struct std::char_traitschar ,class Studentint ) (?stdYAAAV?$basic_ostreamDU?$char_traitsDstd1AAV21AAV?$StudentHZ)该符号在函数 _main 中被引用 1Test.obj : error LNK2019: 无法解析的外部符号 public: __thiscall Studentint::Studentint(int,int) (??0?$StudentHQAEHHZ)该符号在函数 _main 中被引用 1Test.obj : error LNK2019: 无法解析的外部符号 public: class Studentint __thiscall Studentint::operator(class Studentint ) (??H?$StudentHQAE?AV0AAV0Z)该符号在函数 _main 中被引用 1Y:\002_WorkSpace\002_VS\HelloWorld\HelloWorld\Debug\HelloWorld.exe : fatal error LNK1120: 3 个无法解析的外部命令 1已完成生成项目“HelloWorld.vcxproj”的操作 - 失败。生成: 成功 0 个失败 1 个最新 0 个跳过 0 个 2、问题分析 在上述示例中 , 只需要改一个地方 , 即可成功执行 , #include Student.h导入源码时 , 导入 Student.cpp 文件 , 不能导入 Student.h ; // 此处不能导入 .h 头文件 // 必须导入 .cpp 源码文件 #include Student.cpp这是 类模板 的实现机制 决定的 ; 还是 两次编译 造成的问题 ; 编译代码时 , 编译到 Student.h 时 , 会生成一个 类模板 函数头 , 编译 Student.cpp 时 , 类模板函数 不会像 普通函数 一样 , 寻找函数头 , 找不到对应的 函数头 ; 将 #include Student.cpp 包含进来 , Student.cpp 中就有 Student.h , 变相的将这两个代码定义在同一个文件中 ; 相当于 将 类模板 的 函数声明 和 函数实现 都定义在了 Student.h 头文件中 ; 这种类型的头文件 可以改成 .hpp 后缀 , 表明该文件中同时包含了 函数声明 和 函数实现 ; 二、代码示例 - 函数实现 写在类外部的不同的 .h 头文件和 .cpp 代码中 1、完整代码示例 Student.h 头文件内容 Student.h 头文件内容 : #include iostream using namespace std;template typename T class Student {// 左移运算符重载friend ostream operator T (ostream out, Student s);public:// 构造函数Student(T x, T y);// 重载 运算符Student operator(Student s);public:T a, b; };Student.cpp 代码文件内容 Student.cpp 代码文件内容 : #include Student.h// 类模板构造函数 // 使用 StudentT:: 域操作符访问函数 template typename T StudentT::Student(T x, T y) {this-a x;this-b y; }// 重载 运算符 // 使用 StudentT:: 域操作符访问函数 template typename T StudentT StudentT::operator(StudentT s) {// 函数内部的类的 T 模板类型 , 可加 StudentT 可不加 Student// 不加 T 也可以使用 , 加了也不会报错Student student(this-a s.a, this-b s.b);return student; }// Student 类的友元函数 // 左移运算符重载 函数 template typename T ostream operator(ostream out, StudentT s) {out a: s.a b: s.b endl;return out; }Test.cpp 代码文件内容 Test.cpp 代码文件内容 : #include iostream using namespace std;// 此处不能导入 .h 头文件 // 必须导入 .cpp 源码文件 #include Student.cppint main() {// 模板类不能直接定义变量// 需要将 模板类 具体化之后才能定义变量Studentint s(666, 888);cout s endl;Studentint s2(222, 111);cout s2 endl;// 验证 加法运算符 重载Studentint s3 s s2;// 验证 左移运算符 重载cout s3 endl;// 控制台暂停 , 按任意键继续向后执行system(pause);return 0; }2、执行结果 执行结果 : a:666 b: 888a:222 b: 111a:888 b: 999请按任意键继续. . .
http://www.w-s-a.com/news/361892/

相关文章:

  • 营销型外贸网站广州昆明建设网站制作
  • 网页制作网站素材项目建设全过程管理
  • 正能量网站下载柬埔寨网赌网站开发
  • 如何免费建设公司网站广州传业建设有限公司网站
  • 织梦做的网站快照被攻击张家口网站建设公司
  • 平顶山公司网站建设南昌网站seo多少钱
  • 网站开发要先买服务器吗建设婚恋网站用什么搭建
  • 我想自己在网站上发文章 怎样做wordpress站点安装
  • 北京模板网站开发全包昆明网站开发正规培训
  • 西咸新区建设环保网站谷歌风格wordpress
  • 嘉兴港区建设局网站2018年网站开发
  • 网站里图片做超链接专业开发网站报价单
  • server2003网站建设做销售记住这十句口诀
  • microsoft免费网站网站后台登陆路径
  • 贵州住房和城乡建设局网站做网站排名费用多少钱
  • 现在个人做网站还能盈利吗xampp用wordpress
  • 做网站 租服务器温岭建设公司网站
  • 四川住房和城乡建设厅网站官网做网站最贵
  • 右玉网站建设四川林峰脉建设工程有限公司网站
  • 网站推广小助手杭州百度百家号seo优化排名
  • 怎么做网站搜索框搜索网站备案拍照背景幕布
  • 建设部网站城市规划资质标准伊春网络推广
  • 如何设计酒店网站建设深圳市房地产信息系统平台
  • 伍佰亿网站怎么样网站建设前台后台设计
  • 做整装的网站北京哪个网站制作公司
  • 建设赚钱的网站福州便民生活网
  • 咸阳网站设计建设公司小程序打包成app
  • 做视频网站视频文件都存放在哪做旅游宣传图的网站有哪些
  • 地方门户类网站产品推广惠州市中国建设银行网站
  • 网站建设公司推荐5788移动版wordpress