标题:一个c++程序改错的面试题
取消只看楼主
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
结帖率:96.55%
已结贴  问题点数:100 回复次数:3 
一个c++程序改错的面试题
第一次看到这个题目,觉得很简单,可仔细一看,发现自己不会做,感觉自己太菜了!
题目的要求是改正程序中的错误:
#include <iostream>
using namespace std;
class Test{
public:
    int *p;
    Test(int value){
        p=new int(value);
    }
    ~Test(){
        delete p;
    }
    void PrintValue()
    {
        cout<<"The value is"<<*p<<endl;
    }
};
void Func(Test t)

{
   cout<<"In the Func"<<endl;
}
int main(){
    Test t1=33;
    Func(t1);
    t1.PrintValue();  

    return 0;
}

我的问题是:
1,程序有几个错误,该如何改正;
2,为什么Test t1=33;没有错误;
3,这个程序运行结果为
   In the Func
   The value is-572662307
如果去掉Func(t1);
运行结果为:
   The value is33


看到这个题目,觉得自己C++太差了,九月份就该找工作了,该如何是好?~~~~~~~~~~


搜索更多相关主题的帖子: include public return 
2014-02-08 18:39
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
得分:0 
回复 2楼 yuccn
恩,谢谢,有点懂了
那Test t1=33;是如何转换的?
2014-02-09 10:32
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
得分:0 
回复 4楼 蓝色的blue
怎样算c++风格?
2014-02-09 14:45
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
得分:0 
回复 6楼 yuccn
谢谢你,有点明白了,我自己再研究研究
2014-02-09 18:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-427122-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057483 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved