解答一个C++问题

    xiaoxiao2025-11-27  24

    【来信】 贺老师:   您好!   首先,非常感谢您,感谢您的博客,我的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>,这个类型涉及命名空间及范型。   限于我现在的条件和时间,我只能说这些,沿这个线索,再找专门的材料查阅。   读开源项目,是个很好的学习方式,坚持下去。可以采用用到哪学到哪,必要时,将相关的语法现象,通过简单程序调试观察一下。   祝学习顺利!

    相关资源:Accerlerated-C 中文版习题答案(含书pdf)
    最新回复(0)