📜  C++程序的输出|组5

📅  最后修改于: 2022-05-13 01:56:10.989000             🧑  作者: Mango

C++程序的输出|组5

难度等级:菜鸟
预测以下 C++ 程序的输出。
问题 1

C
#include
using namespace std;
 
class Test {
    int value;
public:
    Test(int v);
};
 
Test::Test(int v) {
    value = v;
}
 
int main() {
    Test t[100];
    return 0;
}


C
#include
using namespace std;
 
class Test {
    int value;
public:
    Test(int v = 0);
};
 
Test::Test(int v) {
    value = v;
}
 
int main() {
    Test t[100];
    return 0;
}


C
#include
using namespace std;
int &fun() {
  static int a = 10;
  return a;
}
 
int main() {
  int &y = fun();
  y = y +30;
  cout<


C
#include
using namespace std;
 
class Test
{
public:
  Test();
};
 
Test::Test()  {
    cout<<"Constructor Called \n";
}
 
int main()
{
    cout<<"Start \n";
    Test t1();
    cout<<"End \n";
    return 0;
}


输出:

Compiler error

类 Test 有一个用户定义的构造函数“Test(int v)”,它需要一个参数。它没有没有任何参数的构造函数,因为如果用户定义了一个构造函数,编译器不会创建默认构造函数(请参阅this)。以下修改后的程序可以正常工作,没有任何错误。

C

#include
using namespace std;
 
class Test {
    int value;
public:
    Test(int v = 0);
};
 
Test::Test(int v) {
    value = v;
}
 
int main() {
    Test t[100];
    return 0;
}

问题2

C

#include
using namespace std;
int &fun() {
  static int a = 10;
  return a;
}
 
int main() {
  int &y = fun();
  y = y +30;
  cout<

输出:



40

该程序运行良好,因为 'a' 是静态的。由于 'a' 是静态的,它的内存位置即使在 fun() 返回之后仍然有效。因此可以返回对静态变量的引用。
问题 3

C

#include
using namespace std;
 
class Test
{
public:
  Test();
};
 
Test::Test()  {
    cout<<"Constructor Called \n";
}
 
int main()
{
    cout<<"Start \n";
    Test t1();
    cout<<"End \n";
    return 0;
}

输出:

Start
End