(转)我总结的C++问题集

1:C和C++有什么区别:  
  C++支持面向对象的编程,同时兼容C语言的面向过程编程  
   
  2:VB和C++有什么区别:  
  VB是一门基于对象语言,有对象和类的概念,但是对于继承、多态实现的不好  
   
  3:VC和C++有什么区别:  
  VC可以看成是C++加上MFC基础类库的组合  
   
  4:声明一个引用是需要注意什么,函数返回引用时需要注意什么:  
  1   必须在定义引用的时候就声明引用对象  
  2   不能更该引用对象  
  3   不能引用数字,常量,表达式  
  函数引用返回不能引用局部变量  
   
  5:引用和指针有什么区别:  
  指针:可以随意指向不同的地址(水性杨花)  
  引用:声明后不能引用其它变量(从一而终)  
   
  6:常量引用和常量指针的区别:  
  不能改变常量引用的值  
  可以改变常量指针的值,但是不能改变常量指针的指向  
   
  7:缺省参数和函数重载的区别和应用:  
  缺省参数可以看作是函数重载的特例,Java中取消了缺省参数。  
  应用:缺省参数可以涵盖普通应用和特殊应用,但如果要更灵活的处理,需要函数重载  
   
  8:void   add(int   a,   int   b)和int   add(int   a,   int   b,   int   c=0)是否是正确的函数重载:  
  不是,有可能存在二义性  
   
  9:void   add(int   a,   int   b)和int   add(const   int   &a,   const   int   &b)是否是正确的函数重载:  
  不是,整型的引用也是整型  
   
  10:内联函数有什么用,是否在函数名前加上inline关键字就成为内联函数了?:  
  用途:节省调用函数的开销,加快运行速度  
  不一定,编译器会自动优化  
   
  11:何时会用到::操作符:  
  类外实现方法,引用类的静态成员等  
   
  12:static成员和普通成员的区别:  
  1   静态成员可以不经实例化直接引用  
  2   静态属性可以有初始值  
  3   静态方法中只能访问静态成员  
  4   静态成员一般描述对象的共同特征"  
   
  13:举一个应用static的例子:  
  连锁店是一个类,店名属性应该是静态(班级班费)  
   
  14:构造函数和析构函数的作用:  
  构造函数用来初始化属性,为指针分配内存空间,析构函数用来释放分配的空间  
   
  15:new/delete操作符和malloc/free的区别:  
  1   new/delete是C++标准函数,效率高  
  2   new自动获得分配的size,使用方便  
  3   new/delete会引发构造/析构函数  
   
  16:写一个为int型指针分配100个空间,然后回收的例子:  
  int   *p   =   new   int[100];  
  delete   []   p;  
   
  17:什么是浅复制,什么是深层复制:  
  当类中包含指针属性时,浅复制只复制地址,深层复制则复制内容  
   
  18:写一个类模拟cin和cout:  
  class   MyCout   {  
  public:  
          MyCout   &   operator   <<(int   a)   {  
                  printf(""%d"",   a);  
                  return   *this;  
          }  
  }  
   
  19:描述C++的异常处理:  
  就是try,   catch模型"  
   
  20:同VB的异常处理相比,C++有何优势:  
  C++的异常处理区分了正常代码和异常处理代码,并且在抛出用户自定义异常方面更加完善  
   
  21:简述C++中的4种继承模型:  
  单一继承,多重继承,层级继承,多极继承  
   
  22:图中如果类A,   C中存在同名方法abc,如何引用:  
  实例化D的对象d,可以用d.A::abc()或d.B::abc()引用A中的方法,d.C::abc()引用C中的方法  
   
  23:子类会继承父类中所有的内容吗?:  
  private的成员不会被继承  
   
  24:题22的图中,实例化D的对象后,构造函数和析构函数的顺序是什么?:  
  A()-->B()-->C()-->D()-->~D()-->~C()-->~B()-->~A()  
   
  25:如果父类中存在有参数的构造函数,一般来说也要为它提供没有参数的构造函数,为什么?:  
  因为子类在实例化的时候回收先调用父类中没有参数的构造函数(除非子类中声明调用父类中带参数的),这是因为父类中存在构造函数,编  
   
  译器不会为父类产生缺省的构造函数,就会发生错误  
   
  26:什么叫Override,和Overload有什么区别?:  
  Override:函数覆盖,发生在父类和子类中,子类覆盖函数和父类的源函数声明必须完全一致  
  Overload:函数重载,重载的一组函数必须具有各自不同的参数  
   
  27:父类和子类对象是否可以相互转换?:  
  是单向的,可以将子类对象赋给父类对象,也可以让父类指针指向子类,但是不能反过来  
   
  28:继承可以干什么?:  
  可以实现代码重用  
  代码重用的三个阶段:  
  1   复制           缺点:代码分散  
  2   模块化       缺点:不易维护,扩充  
  3   继承"  
   
  29:父类指针指向子类对象后是否能调用子类中的方法?:  
  不能,除非将父类中的方法声明成virtual  
  注意:不能通过父类指针调用子类中特有的方法  
   
  30:虚函数和纯虚函数的区别和应用:  
  区别:纯虚函数一般没有实现  
  应用:父类中有必要实现该方法,考虑到多态可以用虚函数,如果父类中没有必要实现该方法,但是期望在子类中实现,可以使用纯虚函数  
   
  31:类和抽象类的区别和应用:  
  区别:抽象类不能实例化对象,抽象类的子类一定要覆盖父类中的纯虚函数  
  应用:类一般用来描述现实中存在的对象,抽象类用来描述现实中不存在的概念。比如抽象类“形状”和类“圆”"  
   
  32:子类一定要覆盖(实现)父类中的纯虚函数吗?虚函数呢?:  
  子类如果不覆盖父类中的纯虚函数子类不能实例化对象,也变成了抽象类,虚函数子类可以不覆盖  
   
  33:虚析构函数有什么用途,举例?:  
  虚析构函数可以保证子类中的析构函数能被调用  
   
  34:写一个多态:比如CPU商品  
   
  35:写一个类工厂:  

转载于:https://www.cnblogs.com/chengxin1982/archive/2009/01/22/1379813.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧农业是一种结合了现代信息技术,包括物联网、大数据、云计算等,对农业生产过程进行智能化管理和监控的新模式。它通过各种传感器和设备采农业生产中的关键数据,如大气、土壤和水质参数,以及生物生长状态等,实现远程诊断和精准调控。智慧农业的核心价值在于提高农业生产效率,保障食品安全,实现资源的可持续利用,并为农业产业的型升级提供支持。 智慧农业的实现依赖于多个子系统,包括但不限于设施蔬菜精细化种植管理系统、农业技术资料库、数据采系统、防伪防串货系统、食品安全与质量追溯系统、应急追溯系统、灾情疫情防控系统、农业工作管理系统、远程诊断系统、监控中心、环境监测系统、智能环境控制系统等。这些系统共同构成了一个综合的信息管理和服务平台,使得农业生产者能够基于数据做出更加科学的决策。 数据采是智慧农业的基础。通过手工录入、传感器自动采、移动端录入、条码/RFID扫描录入、拍照录入以及GPS和遥感技术等多种方式,智慧农业系统能够全面收农业生产过程中的各种数据。这些数据不仅包括环境参数,还涵盖了生长状态、加工保存、检验检疫等环节,为农业生产提供了全面的数据支持。 智慧农业的应用前景广阔,它不仅能够提升农业生产的管理水平,还能够通过各种应用系统,如库房管理、无公害监控、物资管理、成本控制等,为农业生产者提供全面的服务。此外,智慧农业还能够支持政府监管,通过发病报告、投入品报告、死亡报告等,加强农业产品的安全管理和质量控制。 面对智慧农业的建设和发展,存在一些挑战,如投资成本高、生产过程标准化难度大、数据采和监测的技术难题等。为了克服这些挑战,需要政府、企业和相关机构的共同努力,通过政策支持、技术创新和教育培训等手段,推动智慧农业的健康发展。智慧农业的建设需要明确建设目的,选择合适的系统模块,并制定合理的设备布署方案,以实现农业生产的智能化、精准化和高效化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值