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

老干支部网站建设方案阿里云 wordpress

老干支部网站建设方案,阿里云 wordpress,高校网站建设规范,东莞有哪家比较好的网站建设公司一、前言 在C中#xff0c;接口指针或类对象的函数参数传递是一个常见的做法#xff0c;特别是在需要支持多态或动态绑定时。这里将介绍如何传递接口指针或类对象作为函数参数。 二、函数参数传递的几种类型 抽象类#xff08;接口#xff09;的实例只能通过指针或引用传…一、前言 在C中接口指针或类对象的函数参数传递是一个常见的做法特别是在需要支持多态或动态绑定时。这里将介绍如何传递接口指针或类对象作为函数参数。 二、函数参数传递的几种类型 抽象类接口的实例只能通过指针或引用传递不能作为值传递。具体类的实例可以通过指针、值或引用传递。指针传递和值传递都会创建对象的副本而引用传递会直接操作原始对象。 示例代码 #include iostream // 定义一个接口类 class IMyInterface { public:virtual void myMethod() 0; // 纯虚函数必须被实现 }; // 定义一个类它实现了IMyInterface接口 class MyClass : public IMyInterface { public:void myMethod() override {std::cout MyClass::myMethod called std::endl;} }; /// summary /// 指针传递传递抽象类的实例的指针 /// /summary /// param nameinterfacePtr/param void doSomething1(IMyInterface* interfacePtr) {interfacePtr-myMethod(); }/// summary /// 错误用法不允许使用抽象类类型作为函数参数也就是说不能实例化。 /// /summary /// param nameinterfacePtr/param //void doSomething2(IMyInterface interfacePtr) { // interfacePtr.myMethod(); //}/// summary /// 引用传递 需要传递抽象类的实例对象的引用. /// /summary /// param nameinterfacePtr/param void doSomething3(IMyInterface interfacePtr) {interfacePtr.myMethod(); }/// summary /// 对象的指针传递 /// /summary /// param namepMyCalss/param void doSomething4(MyClass* pMyCalss) {pMyCalss-myMethod(); }/// summary /// 值传递会创建myObj的副本 /// /summary /// param namemyObj/param void doSomething5(MyClass myObj) {myObj.myMethod(); }/// summary /// 引用传递直接操作原始对象 /// /summary /// param namemyObj/param void doSomething6(MyClass myObj) {myObj.myMethod(); }int main() {MyClass obj;IMyInterface* pMyInterface obj;doSomething1(pMyInterface);//doSomething2(obj); 错误用法doSomething3(*pMyInterface);doSomething4(obj); doSomething5(obj); doSomething6(obj);return 0; }1.抽象类接口的实例的指针传递 /// summary /// 指针传递传递抽象类的实例的指针 /// /summary /// param nameinterfacePtr/param void doSomething1(IMyInterface* interfacePtr) {interfacePtr-myMethod(); }int main() {MyClass obj;IMyInterface* pMyInterface obj;doSomething1(obj);doSomething1(pMyInterface);return 0; } 将抽象类指针作为函数参数传递。这允许函数接受任何实现了抽象类接口的类的实例。 2.抽象类接口的实例值传递错误用法 /// summary /// 编译时错误抽象类不能被实例化不允许使用抽象类类型作为函数参数也就是说不能实例化。 /// /summary /// param nameinterfacePtr/param //void doSomething2(IMyInterface interfacePtr) { // interfacePtr.myMethod(); //}抽象类不能被实例化因此不能作为值传递给函数。 3.抽象类接口的实例的对象的引用传递 /// summary /// 引用传递 需要传递抽象类的实例对象的引用. /// /summary /// param nameinterfacePtr/param void doSomething3(IMyInterface interfacePtr) {interfacePtr.myMethod(); }int main() {MyClass obj;IMyInterface* pMyInterface obj;doSomething3(*pMyInterface);return 0; }将抽象类对象的引用作为函数参数传递。这允许函数直接访问和修改原始对象。 4.实例对象的指针传递 /// summary /// 对象的指针传递 /// /summary /// param namepMyCalss/param void doSomething4(MyClass* pMyCalss) {pMyCalss-myMethod(); }int main() {MyClass obj;IMyInterface* pMyInterface obj;doSomething4(obj); return 0; }将具体类对象的指针作为函数参数传递。这允许函数接受任何实现了抽象类接口的类的实例。 5.实例对象的值传递 /// summary /// 值传递会创建myObj的副本 /// /summary /// param namemyObj/param void doSomething5(MyClass myObj) {myObj.myMethod(); } int main() {MyClass obj;doSomething5(obj); return 0; }将具体类对象作为值传递给函数。这创建了一个对象的副本因此函数内部对对象的修改不会影响原始对象。 6.实例对象的引用传递 /// summary /// 引用传递直接操作原始对象 /// /summary /// param namemyObj/param void doSomething6(MyClass myObj) {myObj.myMethod(); }int main() {MyClass obj;doSomething6(obj);return 0; }将具体类对象的引用作为函数参数传递。这允许函数直接访问和修改原始对象。 三、注意事项 当传递接口指针时确保指针指向的对象确实实现了该接口。当传递类对象时确保对象的状态不会因为函数的调用而受到影响除非函数是类的成员函数。引用参数可以避免拷贝对象提高效率。指针参数可以接受空指针引用参数不能接受空引用。通过接口指针或类对象的传递可以编写出更加灵活和可扩展的代码。
http://www.pierceye.com/news/211863/

相关文章:

  • 做网站下载别人的图算不算侵权源码之家免费
  • 宁夏住房城乡建设厅网站应用网站建设
  • 宾馆网站建设网站建设管理规范
  • 内部网站建设的步骤过程选择邯郸做网站
  • 国外免费外贸网站dw网页制作教程个人网站
  • 西安建设局网站地址室内设计效果图一套方案
  • php 建网站电子商务网站建设项目规划书
  • 常熟建设局网站代理办营业执照的公司
  • 济南网站关键词优化公司如何制作网站赚钱
  • 长春旅游网站开发360投放广告怎么收费
  • 微信公众号做网站卖东西静态化网站的缺点
  • 网站空间购买今天的新闻头条最新消息
  • 网站制作教程图解怎么解压wordpress
  • 唐山市城市建设规划局网站腾讯云建设一个网站要多少钱
  • 邢台集团网站建设费用聚牛建设网站
  • 如何创建电子商务网站学校网站设计首页
  • 扬州建设投资集团网站世界总人口实时数据
  • 沧州制作网站食品商务网-网站建设
  • 0592 网站建设模板网站建设+百度
  • 请人做个网站多少钱免费商城app
  • 网站建设包括哪些方面?手游源码网站
  • 机关门户网站建设管理情况软件开发工具都有哪些
  • 官方网站建设专家磐石网络wordpress对应的id
  • 学生自做网站优秀作品徐州企业建站模板
  • 网络电子商务购物网站idc机房建设
  • 网站单页seo个人服务器网站备案
  • 装修队伍做网站做机票在线预订网站
  • 手机版企业网站php山西建设执业注册中心网站
  • 南充网站建设略奥科技凡科建站电话
  • 个人网站可以做自媒体吗手机网站建设需要多少钱