小编Gog*_*ger的帖子

我在CS课程.我应该关注哪些编程主题?

这个时候最重要的是什么?我知道我以后可以获得编程经验.我毕业后应该学习以下哪一项才能成为优秀的程序员或分析师?

  • 数据结构
  • 算法
  • 软件工程
  • 低级方面
  • 设计模式和OO分析

[编辑]

谢谢你的回答.我想将其他重要主题作为其他学生的参考:

  • 同时编程
  • 操作系统

[/编辑]

注意:我认为列表中的第一项应该是学习英语

computer-science

4
推荐指数
2
解决办法
857
查看次数

混合模板函数重载和继承

以下代码打印:

generic
overload
Run Code Online (Sandbox Code Playgroud)

但我想要的是在两种情况下都调用了重载或特化,而不是通用的.我不是试图将重载与模板专业化混合在一起,因为它们没有像我预期的那样工作.是否有任何模板魔法来实现这一目标?

#include <iostream>

class Interface {};
class Impl: public Interface {};

class Bar
{
public:
    template<typename T> void foo(T& t) {
        std::cout << "generic\n";
    }
    void foo(Interface& t) {
        std::cout << "overload\n";
    }
};
template<> void Bar::foo<Interface>(Interface& t) {
    std::cout << "specialization\n";
}

int main() {
    Bar bar;
    Impl impl;
    Interface& interface = impl;
    bar.foo(impl);
    bar.foo(interface);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ inheritance templates

4
推荐指数
1
解决办法
2595
查看次数

标签 统计

c++ ×1

computer-science ×1

inheritance ×1

templates ×1