小编Kam*_*dan的帖子

什么是C++中的对象?

在我学习C++的旅程开始时,我认为一个对象是一个仅与OOP相关的术语.但是,我学的越多,我阅读的越多,我就会发现情况并非如此,我可以发现"对象"一词具有更广泛的含义.我在网上看了很多材料,但我还没找到清楚/坚实的东西.可能是我无法到达正确的地方.我可以得到标准,它有很好的段落,但你可能知道标准语言有点困难.而且信息通常太分散了.

我的问题:请您用简单的英语向我展示OOP世界之外的C++中的对象是什么?或者至少指出我在哪里可以找到一些好的,具体的,简单易读的.

如果你downvote请留下评论.这也是学习的源泉

c++ object

10
推荐指数
4
解决办法
485
查看次数

使用字符串文字构造对象

我有以下课程:

#include <iostream>
#include <string>

using namespace std;

class CLS
{
   int value;
   string str_value;

public:

    CLS(int param) { value = param; }

    CLS(string param)
    {
       str_value = param;
    }
};

int main()
{
    CLS a(2);
    CLS b = 3;
    CLS c("4");
    CLS d = "5";  // Error: invalid conversion from 'const char*' to 'int'
}
Run Code Online (Sandbox Code Playgroud)

我搜索了没有运气的错误原因.

用字符串文字构造是否正确?如果不是,为什么?如果是的话,我的代码出了什么问题?

我使用gcc 5.3与Code :: Blocks 16.1.

c++ string constructor initialization string-literals

8
推荐指数
2
解决办法
368
查看次数

我知道struct是一个类,但代码说不

我试图说服一个朋友,这struct只是class现代C++中的一个.经过大量的争论和资源交换(包括一些SO Q&A)后,我想出了一个通过代码证明它的想法,所以我写道:

class A {};
struct B {};

int main()
{
    cout << (is_class<A>::value ? "Yes" : "No") << "\n";  // output Yes
    cout << (is_class<B>::value ? "Yes" : "No") << "\n";  // output Yes

    cout << (is_same<A,B>::value ? "Yes" : "No") << "\n"; // output No ???
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我对第三cout行输出感到惊讶.所以,我现在被困在这里,我不知道我是否正确.

struct一个class或不?
为什么代码显示两个不同的东西?

更新:

我很清楚struct和class之间有什么区别.令我感到困惑的是答案之间的区别is_classis_same答案.如果不在这里问我该怎么办?这个网站是为了什么?为什么有些用户倾向于提出问题是没有用的,甚至没有评论来指明它不符合要求政策?

请记住,我们并非所有人都会说流利的英语.并非所有人都有多年的经验.

感谢所有回答或评论的人.

c++ struct types class type-traits

1
推荐指数
2
解决办法
168
查看次数