在 C++ 中为对象赋值时会发生什么

艾伦·理查兹

检查以下代码:

#include<iostream>
using namespace std;

class example
{
    public:
    int number;

    example()
    {
        cout<<"1";
        number = 1;
    }

    example(int value)
    {
        cout<<"2";
        number = value;
    }

    int getNumber()
    {
        cout<<"3";
        return number;
    }
};

int main()
{
    example e;
    e = 10;
    cout<<e.getNumber();
    return 0;
}

上面代码的输出是什么。另外,我想知道将对象直接分配给值时会发生什么。编译器将如何解释它?

凯文瓦菲

首先你输入

example e;

所以第一个构造函数调用并1打印

example()
{
    cout<<"1";
    number = 1;
}

输出 :

1

然后你输入:e=10它等于e = example(10);另一个构造函数调用:

example(int value) /// beacause you used example(10)
{
    cout<<"2";
    number = value;
}

所以你的输出是:

12

并且number2最后在:

cout<<e.getNumber();


3 is couted but in the other hand value is `10`    

因为number = valuenumber10
所以最后你的输出是:

12310

感谢@StoryTeller 编辑解释

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++中的函数const本地对象会发生什么?

来自分类Dev

在c ++中将字符串值分配给整数变量时会发生什么?

来自分类Dev

C alloca函数-尝试分配过多内存时会发生什么

来自分类Dev

在C ++标准中,当违反“应”要求时会发生什么?

来自分类Dev

当C表达式中发生整数溢出时会发生什么?

来自分类Dev

在C ++中,当我对-128,127范围以外的整数使用static_cast <char>时会发生什么?

来自分类Dev

为什么Web服务中的方法在C#中返回Arraylist时会发生异常?

来自分类Dev

当我在C ++中对未初始化的指针调用“删除”时会发生什么?

来自分类Dev

当C ++匿名对象替换先前分配的对象时会发生什么?

来自分类Dev

使用Java中的main方法为类创建对象时会发生什么

来自分类Dev

当非void方法在Objective-C中达到终点时会发生什么?

来自分类Dev

当我们在C#中访问字符串的'Length'属性时会发生什么?

来自分类Dev

取消引用后增量C时会发生什么

来自分类Dev

当没有内存在C#中构造OutOfMemoryException时会发生什么?

来自分类Dev

发生“注入类名称”时会发生什么?(C ++)

来自分类Dev

当您从C ++函数返回引用时会发生什么?

来自分类Dev

当将int列表转换为C中的char列表时会发生什么?

来自分类Dev

在svm.scv()中同时使用“ class_weight”和“ c”参数时会发生什么?

来自分类Dev

当用C中的空字符截断字符串时会发生什么?

来自分类Dev

C ++中的函数const本地对象会发生什么?

来自分类Dev

当C ++匿名对象替换先前分配的对象时会发生什么?

来自分类Dev

当非void方法在Objective-C中达到终点时会发生什么?

来自分类Dev

在C ++中为对象分配引用的值时会发生什么?

来自分类Dev

当我在C ++中对类使用vector时会发生什么

来自分类Dev

在 C 中,当开始不满足 for 循环的条件时会发生什么?

来自分类Dev

c#创建许多新对象内存会发生什么

来自分类Dev

在 C++ 中的 Map 中插入重复值时会发生什么

来自分类Dev

当我尝试使用空的默认构造函数创建对象但在 ANSI C++ 中添加括号时会发生什么?

来自分类Dev

在 C# 中,移除对象的 Action 会发生什么?

Related 相关文章

  1. 1

    C ++中的函数const本地对象会发生什么?

  2. 2

    在c ++中将字符串值分配给整数变量时会发生什么?

  3. 3

    C alloca函数-尝试分配过多内存时会发生什么

  4. 4

    在C ++标准中,当违反“应”要求时会发生什么?

  5. 5

    当C表达式中发生整数溢出时会发生什么?

  6. 6

    在C ++中,当我对-128,127范围以外的整数使用static_cast <char>时会发生什么?

  7. 7

    为什么Web服务中的方法在C#中返回Arraylist时会发生异常?

  8. 8

    当我在C ++中对未初始化的指针调用“删除”时会发生什么?

  9. 9

    当C ++匿名对象替换先前分配的对象时会发生什么?

  10. 10

    使用Java中的main方法为类创建对象时会发生什么

  11. 11

    当非void方法在Objective-C中达到终点时会发生什么?

  12. 12

    当我们在C#中访问字符串的'Length'属性时会发生什么?

  13. 13

    取消引用后增量C时会发生什么

  14. 14

    当没有内存在C#中构造OutOfMemoryException时会发生什么?

  15. 15

    发生“注入类名称”时会发生什么?(C ++)

  16. 16

    当您从C ++函数返回引用时会发生什么?

  17. 17

    当将int列表转换为C中的char列表时会发生什么?

  18. 18

    在svm.scv()中同时使用“ class_weight”和“ c”参数时会发生什么?

  19. 19

    当用C中的空字符截断字符串时会发生什么?

  20. 20

    C ++中的函数const本地对象会发生什么?

  21. 21

    当C ++匿名对象替换先前分配的对象时会发生什么?

  22. 22

    当非void方法在Objective-C中达到终点时会发生什么?

  23. 23

    在C ++中为对象分配引用的值时会发生什么?

  24. 24

    当我在C ++中对类使用vector时会发生什么

  25. 25

    在 C 中,当开始不满足 for 循环的条件时会发生什么?

  26. 26

    c#创建许多新对象内存会发生什么

  27. 27

    在 C++ 中的 Map 中插入重复值时会发生什么

  28. 28

    当我尝试使用空的默认构造函数创建对象但在 ANSI C++ 中添加括号时会发生什么?

  29. 29

    在 C# 中,移除对象的 Action 会发生什么?

热门标签

归档