解答一个C++问题

来源:互联网 发布:android 线程数据传递 编辑:程序博客网 时间:2024/05/22 16:07

【来信】
贺老师:
  您好!
  首先,非常感谢您,感谢您的博客,我的C++就是看您博客,自学成长的。您的博客,浅显易懂,特别是有实例练习。对非计算机专业的人来说,您的博客真的就是及时雨,给人醍醐灌顶,让我受益匪浅。
  我是新疆的一名学生。在阅读与本专业相关的一个开源项目(http://libmesh.github.io/)。这个项目主要是用有限单元法来进行数值模拟,这个开源项目用C++编写,几乎涵盖了所有C++的语法。我计划用1年时间来消化吸收这个项目。再提取必要的和有用部分为我所用,为论文服务。由于水平有限,在阅读过程中有一个地方,下面代码中红色标示部分,在语法上就无法理解,

virtual std::auto_ptr<Element> build_side(const unsigned int side)=0;

  这是一个智能指针,是指向0的智能指针吗? 还是一个函数,是一个虚函数?
  这个语句彻底把我难住了。理解不透。完整的类的定义代码在邮件后部。
  特向贺老师请教。
  望贺老师在百忙之中给学生以指点、点拨。
  盼望贺老师的回信。

【回信】
  我建的资源能够帮助到你,这足以让我感到骄傲了。将向网络学习的做法保持下去,这是这个时代的福利。
  很抱歉未能及时回复。我近日在山西老家住着,上网不方便,现在正在村委蹭网。
   就virtual std::auto_ptr<Element> build_side(const unsigned int side)=0;一句,这是一个成员函数声明,virtual代表是虚函数,=0代表是纯虚函数,函数返回值类型是std::auto_ptr<Elemen>,这个类型涉及命名空间及范型。
  限于我现在的条件和时间,我只能说这些,沿这个线索,再找专门的材料查阅。
  读开源项目,是个很好的学习方式,坚持下去。可以采用用到哪学到哪,必要时,将相关的语法现象,通过简单程序调试观察一下。
  祝学习顺利!

1 0
原创粉丝点击