class函数给出了垃圾值

时间:2015-02-21 21:40:21

标签: c++

我是c ++的新手。我创建了一个名为Cache的类,并使用构造函数创建了一个对象L1Cache。我将参数传递给构造函数并正确打印计算数据。但是当我在同一个类和同一个对象中调用一个不同的函数时,我在构造函数中生成的数据会给出垃圾值。在这里,我想提一下我的所有功能和变量都是公开的。

我的代码看起来像这样:

main.cc:
#include <stdio.h>
#include <fstream>
#include <stdlib.h>
#include <assert.h>
#include <string.h>
#include "cache.h"
main()
{
    unsigned long long Address= 5555555555;
    unsigned long a=5,b=7;
    Cache L1Cache(a, b);
    L1Cache.Calculate( Address);
}

cache.cc:
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <assert.h>
#include <string.h>
#include <stdlib.h>          
#include "cache.h"
using namespace std;
Cache::Cache(unsigned long c,unsigned long d)
{
    e= c+d;
    printf("Value Of e:%lu",e);
}

void Cache::Calculate(unsigned long long A)
{
    printf("Value of e:%lu",e);
}

cache.h:
class Cache
{
      public: 
      unsigned long e;
      Cache(unsigned long c,unsigned long d)
      void Calculate(unsigned long long A);
}

输出:

Value of e: =12;
Value of e: = garbage

1 个答案:

答案 0 :(得分:1)

在您的课程声明中和之后缺少分号。主要应该是int。修复代码运行后。你真的运行了你认为自己运行的代码吗?