小编dre*_*evv的帖子

奇怪的"unsigned long long int"行为

可能重复:
你如何printf unsigned long long int?

#include <cstdio>

int main ()
{
    unsigned long long int n;
    scanf("%llu",&n);
    printf("n: %llu\n",n);
    n /= 3;
    printf("n/3: %llu\n",n);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

无论我输入什么,我都会得到非常奇怪的输出,例如:

n: 1
n/3: 2863311531
Run Code Online (Sandbox Code Playgroud)

要么

n: 2
n/3: 2863311531
Run Code Online (Sandbox Code Playgroud)

要么

n: 1000
n/3: 2863311864
Run Code Online (Sandbox Code Playgroud)

什么原因?我该怎么做才能正确?

(g ++ 3.4.2,Win XP)

c c++

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

在另一个类的声明中将参数传递给类构造函数

我是这样的:

#include <iostream>
using namespace std;

class FirstClass
{
    public:
        FirstClass(int _vx) : vx(_vx) {}
        int x () {return vx;}
    private:
        int vx;
};
Run Code Online (Sandbox Code Playgroud)

很明显,我必须写:

int main ()
{
    FirstClass Object1(666);
    cout << Object1.x();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

一切都很好.但问题是,当我想在另一个班级中有这个:

#include <iostream>
using namespace std;

class FirstClass
{
    public:
        FirstClass(int _vx) : vx(_vx) {}
        int x () {return vx;}
    private:
        int vx;
};

class SecondClass
{
    public:
        FirstClass Member1(666);
};

int main ()
{
    SecondClass Object2;
    cout << Object2.Member1.x();
    return 0;
} …
Run Code Online (Sandbox Code Playgroud)

c++ constructor arguments class

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

标签 统计

c++ ×2

arguments ×1

c ×1

class ×1

constructor ×1