相关疑难解决方法(0)

最终C++书籍指南和列表

这个问题试图收集每年出版的数十本不良C++书籍中的少数珍珠.

与许多其他编程语言不同,这些编程语言经常从互联网上的教程中随处获取,很少有人能够快速学习C++,而无需学习编写精良的C++书籍.这样做太复杂了.事实上,它是如此庞大和复杂,有很多非常糟糕的C++书籍.我们并不是在谈论糟糕的风格,而是体育明显的事实错误促进糟糕的编程风格.

请编辑接受的答案,以提供高质量的书籍和近似的技能水平 - 最好 C++聊天室讨论您的添加.(如果他们不同意建议,常客可能会毫不留情地撤销你的工作.)添加一篇关于你亲自阅读/受益的每本书的简短描述/描述.随意讨论质量,标题等.符合标准的书籍将被添加到列表中.由C和C++用户协会(ACCU)撰写评论的图书都有指向评论的链接.

*注意:常见问题和其他资源可以在C++标签信息.

c++ c++-faq

4246
推荐指数
1
解决办法
224万
查看次数

你能用Java编写虚函数/方法吗?

是否有可能在Java中编写虚拟方法,就像在C++中一样?

或者,是否有适当的Java方法可以实现,产生类似的行为?我能举一些例子吗?

java virtual virtual-functions

150
推荐指数
4
解决办法
20万
查看次数

76
推荐指数
4
解决办法
9万
查看次数

什么是虚拟方法?

为什么要将方法声明为"虚拟".

使用虚拟有什么好处?

c# virtual keyword

69
推荐指数
6
解决办法
5万
查看次数

为何使用虚拟功能?

可能重复:
有人可以解释C++虚拟方法吗?

我有一个关于C++虚函数的问题.

我们为什么以及何时使用虚拟功能?任何人都可以给我一个实时实现或使用虚拟功能?

c++ virtual-functions

43
推荐指数
3
解决办法
10万
查看次数

用c ++创建一个类对象

首先我来自JAVA.

在java中,我们创建这样的类对象.

Example example=new Example();
Run Code Online (Sandbox Code Playgroud)

Example类可以有构造函数或者不能有构造函数.

我可以像这样使用c ++中的相同内容

Example* example=new Example();
Run Code Online (Sandbox Code Playgroud)

建设者是强制性的.

从本教程http://www.cplusplus.com/doc/tutorial/classes/

我知道我们可以创建这样的对象.

Example example;
Run Code Online (Sandbox Code Playgroud)

哪个不需要构造函数.

我有两个问题.

1)创建类对象的方式之间有什么区别.

2)如果我正在创建Example example;如何在单例类中使用它的对象.

就像我通常喜欢这样.

Sample* Singleton::get_sample() {
    if (sample == NULL) {
        sample = new Sample();
    }
    return sample;
}
Run Code Online (Sandbox Code Playgroud)

如果我错了,请指导我.

c++

37
推荐指数
3
解决办法
12万
查看次数

Swift有动态调度和虚拟方法吗?

从C++/Java/C#背景开始我希望在Swift中看到虚拟方法,但是阅读swift文档我没有提到虚拟方法.

我错过了什么?

virtual-functions dynamic-dispatch swift

21
推荐指数
3
解决办法
8354
查看次数

为什么在Java和C++中,继承在超类调用(或不是)子类的方法时表现不同?

我写过 - 似乎是 - 在Java和C++中完全相同的继承示例.看到这些计划的不同产出,我感到非常惊讶.让我分享代码片段和相应的输出.


C++代码:

class A
{
public:
    A() {}
    void sleep() {
        cout << "A.Sleep" << endl;
        eat();
    }
    void eat() {cout << "A.Eat" << endl;}
};

class B: public A
{
public:
    B() {}
    void sleep() {
        A::sleep();
        cout << "B.Sleep " <<endl;
        this->eat();
    }
    void eat() {
        cout << "B.Eat" << endl;
        run();
    }
    void run() {
        A::sleep();
        cout << "B.run" << endl;
    }
};

int main()
{
    B *b = new B();
    b->sleep();
} …
Run Code Online (Sandbox Code Playgroud)

c++ java inheritance

16
推荐指数
2
解决办法
1264
查看次数

为什么我们实际上有虚函数?

我是C++的新手.

任何人都可以告诉我c ++中方法重写和虚函数概念之间的区别.

虚函数的功能可以在其派生类中被覆盖.在派生类中重新定义函数称为函数重写.

为什么我们实际上有虚函数?

c++ overriding virtual-functions redefinition

11
推荐指数
4
解决办法
8774
查看次数

像在Java中一样用c ++实例化一个抽象类

我在C++个人学习过程中遇到了困难.我来自Java语言.

我试图在C++中设置一个具有抽象方法的类.到那里,没有什么大不了的.但是我想在Java中实例化那个类:

// MyClass has an abstract method named "AbstractMethod"
MyClass class_object = new MyClass()
{
   @Override
   public void AbstractMethod()
   {
     // Do something here
   }
};
class_object.AbstractMethod();
Run Code Online (Sandbox Code Playgroud)

在Java中,它完美地运行.但是我想在C++中做同样的事情,这里有一个问题:C++似乎不喜欢实例化具有虚方法的类的想法.

我已经搜索了几天,我在互联网上找不到任何答案.也许只是我写错了搜索句子,因为我不是母语为英语的人,在问这个问题时我可能会遇到一些困难.

在C++中,我是否有可能像在Java中一样,或者至少可能?使用模板是解决方案吗?(之前从未学过模板,我还有很多需要学习的东西).

此外,我无法创建许多类来重新定义方法,因为此类将用于为每个实例执行自定义处理.我认为,创建课程只是为了让它成为这种类型中唯一一个对象的骄傲之父.

c++ java abstract-class

6
推荐指数
1
解决办法
1407
查看次数