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

视频网站主持人wordpress升级500

视频网站主持人,wordpress升级500,百度在线搜索,网站怎么添加友情链接类(2)— 类的分离式编译 当一个类里面定义的成员函数较多的时候,就需要程序员分工合作,那么就可以将函数成员写在类的定义之外,或者干脆分为头文件和源文件,这叫做分离式编译(Separate Compila…

类(2)— 类的分离式编译

当一个类里面定义的成员函数较多的时候,就需要程序员分工合作,那么就可以将函数成员写在类的定义之外,或者干脆分为头文件和源文件,这叫做分离式编译(Separate Compilation)。这是一种将程序的不同部分(通常是不同的源文件)分别编译成目标文件,然后将这些目标文件链接在一起生成最终可执行程序的方法。

1. 类定义外的成员函数定义

如果需要再类之外定义成员函数,就需要在类之内声明函数

// 银行账户类(第3版:分离成员函数的定义)及类的使用例程
// 第一区:预处理指令------------------------------------------------------------
#include <string>
#include <iostream>
using namespace std;
// 第二区:类的声明--------------------------------------------------------------
class Account {string full_name;    // 账户名称string number;       // 账号long crnt_balance;   // 账户余额public://如果需要再类之外定义成员函数,就需要在类之内声明函数// 构造函数声明Account(string name, string num, long amnt);// 成员函数声明string name() { return full_name; }    // 返回账户名称string no() { return number; }         // 返回账号long balance() { return crnt_balance; } // 返回账户余额void deposit(long amnt);                // 存入void withdraw(long amnt);               // 取出
};// // 第三区:定义函数区------------------------------------------------------------
// 构造函数定义
Account::Account(string name, string num, long amnt) {full_name = name;    // 账户名称number = num;        // 账号crnt_balance = amnt; // 账户余额
}// 存入函数定义
void Account::deposit(long amnt) {crnt_balance += amnt;
}// 取出函数定义
void Account::withdraw(long amnt) {crnt_balance -= amnt;
}
// 第四区:主函数区------------------------------------------------------------
int main() {Account liyang("李阳", "12345678", 1000);  // 李阳的账户Account zhouyan("周燕", "87654321", 200);  // 周燕的账户liyang.withdraw(200);   // 李阳取出200元zhouyan.deposit(100);   // 周燕存入100元cout << "■李阳的账户:" << liyang.name() << " (" << liyang.no()<< ") " << liyang.balance() << "元\n";cout << "■周燕的账户:" << zhouyan.name() << " (" << zhouyan.no()<< ") " << zhouyan.balance() << "元\n";
}

2. 头文件与源文件的分离

创造类,就相当于创造了一个工具。如果后续有人想使用这个工具,那么这个工具的使用方法是怎样的呢?

如果我们想象类是一个鼠标键盘音箱类的电子设备,那么我们可以看到,这些设备的有一个本体,本体是由 外壳 包括着各类芯片,有一个接口,一般是蓝牙链接或者有线链接。那么类的设计也是有接口外壳芯片电路之分的,类的头文件便是整体的外壳+连接口,类的源文件便是里面的芯片
类的结构图

1. 类的头文件

在C++原则上,不能在头文件中放置 using 指令。因为使用者哎使用这个类的时候,会将自己文件中的using指令和头文件中的using指令混淆,不同库或模块中的同名实体发生冲突,从而引发编译错误或运行时错误。

所以这个头文件代码里面的string都要写为std::string.

// 银行账户类(第4版:头文件)
#include <string>class Account {std::string full_name;    // 账户名称std::string number;      // 账号long crnt_balance;       // 账户余额public:Account(std::string name, std::string num, long amnt);  // 构造函数std::string name() { return full_name; }    // 返回账户名称std::string no() { return number; }        // 返回账号long balance() { return crnt_balance; }    // 返回账户余额void deposit(long amnt);                   // 存入void withdraw(long amnt);                  // 取出
};

2. 类的源文件

// 银行账户类(第4版:源文件)
#include <string>
#include <iostream>
#include "Account.h"#在这里需要声明头文件using namespace std;#在这里使用using指令// 构造函数
Account::Account(string name, string num, long amnt) {full_name = name;    // 账户名称number = num;        // 账号crnt_balance = amnt; // 账户余额
}// 存入
void Account::deposit(long amnt) {crnt_balance += amnt;
}// 取出
void Account::withdraw(long amnt) {crnt_balance -= amnt;
}

3. 类的使用

在使用类的过程中,p 是一个指向 Account 类型的指针。在函数 print_Account 的参数列表中,Account* p 表示这个函数接受一个指向 Account 类型对象的指针。通过使用指针,print_Account 函数可以灵活地处理不同的 Account 对象,而不需要为每个对象创建副本,从而提高代码的效率和可读性。

// 银行账户类(第4版)的使用例程
#include <string>
#include <iostream>
#include "Account.h"using namespace std;// 显示 p 所指的 Account 的账户信息(账户名称、账号、账户余额)
void print_Account(string title, Account* p) {cout << title<< p->name() << " (" << p->no() << ") "//p->name 用于通过指针访问对象的成员。<< p->balance() << "元\n";
}int main() {Account liyang("李阳", "12345678", 1000);  // 李阳的账户Account zhouyan("周燕", "87654321", 200);  // 周燕的账户liyang.withdraw(200);   // 李阳取出200元zhouyan.deposit(100);   // 周燕存入100元print_Account("■李阳的账户:", &liyang);//&liyang 是获取 liyang 对象的地址,并将其传递给 print_Account 函数的 p 参数。print_Account("■周燕的账户:", &zhouyan);
}

文章转载自:

http://54HboRxl.ykwqz.cn
http://CPjUUHE3.ykwqz.cn
http://YYB7Hrl6.ykwqz.cn
http://o4nvOvEy.ykwqz.cn
http://ziIfz1xU.ykwqz.cn
http://Qq3kZR3m.ykwqz.cn
http://Lr0cBzJx.ykwqz.cn
http://VCw5VfTi.ykwqz.cn
http://SS2Agala.ykwqz.cn
http://HohAwZDp.ykwqz.cn
http://9CSwHF55.ykwqz.cn
http://72eFWST3.ykwqz.cn
http://EQGH9wLB.ykwqz.cn
http://2ZjuC60r.ykwqz.cn
http://iXKvFSYK.ykwqz.cn
http://jcVNfC8H.ykwqz.cn
http://UM1no2Fk.ykwqz.cn
http://hGVAVE0f.ykwqz.cn
http://3UZhAOvq.ykwqz.cn
http://chBI6jqQ.ykwqz.cn
http://copPrazT.ykwqz.cn
http://eDOWxxcU.ykwqz.cn
http://F8oUtSkB.ykwqz.cn
http://yNGcLTZo.ykwqz.cn
http://dpe3FNRL.ykwqz.cn
http://tkzvDswv.ykwqz.cn
http://XmzRmfgl.ykwqz.cn
http://7FznViHu.ykwqz.cn
http://YHrYUG3O.ykwqz.cn
http://VFZmLJLz.ykwqz.cn
http://www.dtcms.com/wzjs/635698.html

相关文章:

  • 有关网页设计与网站建设的文章创意产品设计说明范文
  • 昌平上门做网站那百度站长工具官网
  • 广东宇晟建设工程有限公司网站程序员做网站给女朋友
  • 网站设计标准字体wordpress卡密支付插件
  • 便民的网站app怎么做店铺设计网站推荐
  • 网站模板哪里下载南京网站开发
  • dedecms一键更新网站流量型网站 cms
  • 简历模板文档京东网站优化
  • 典型的网站开发人员wordpress模板原理
  • 1688网站上自己做模版网站优化要做哪些工作
  • seo网页的基础知识广州新塘网站seo优化
  • 仿素材下载网站源码成都网站制作设计公司
  • 潮州网站推广教程wordpress图片自动存储
  • 门户网站与搜索引擎的区别网站专题制作 公司
  • 专业建设网站技术国家高新技术企业认定申请条件
  • 为什么南极建站在2月微信微网站开发报价
  • 网站建设收费标准精英id导入不了wordpress
  • 济宁嘉祥网站建设郑州做网站推广电
  • 用什么软件做网站原型镇江网站关键词优化
  • 嘉兴网站关键词排名网站群建设进展情况汇报
  • 襄阳网站建设找下拉哥科技达州网站开发
  • 服务器做jsp网站教程视频关键词网站建设价格
  • 白酒网站设计网站设计指南
  • 企业网站模板观叫湖南岚鸿团队专做宠物的网站
  • 北京西站24小时人工服务电话新网域名管理平台
  • 宝塔面板windows建站教程福州seo按天收费
  • wordpress 内容页兰州网站seo优化
  • 益阳网站建设公司网站开发技术描述
  • app网站区别软件开发专业难学吗
  • 深圳市电商网站建设企业抖音代运营收费价格表