为什么我的 C++ 代码不能显示 cout 字符串

why cant my c++ code show cout string

本文关键字:显示 cout 字符串 不能 代码 我的 C++ 为什么      更新时间:2023-10-16

这是我的主要.cpp

#include <iostream>
using namespace std;
#include "test.h"
void main()
{
Solution aa;
aa.aaa();
cin.get();
}

这是我的测试。

#pragma once
class Solution {
public:
void aaa() {};
};

这是我的考验.cpp

#include <iostream>
using namespace std;
class Solution {
public:  
void aaa() {
cout << "aaaaa" << endl;
};
};

当我运行 C++ 代码时,它什么也没显示。谁能告诉我为什么?

您的test.h声明并定义了一个Solution类,并使用一个完全不执行任何操作的aaa()类方法。

void aaa() {};

看,aaa()方法不执行任何操作。

你的main()叫这个方法,它绝对什么都不做。

最终结果:正如预期的那样,什么也没发生。

您还碰巧有一个test.cpp碰巧声明并定义了自己的同名类。至少,这是未定义的行为,我会指责并嘲笑任何C++编译器+链接器,这些编译器认为将main.cpptest.cpp链接在一起没有错。

在test.h中:

void aaa() {};

请注意,您在 () 之后放置了空括号,而不仅仅是分号。如果要编写函数声明,只需编写函数名称和参数,而不编写括号。现在编译器认为你想编写一个什么都不做的函数。(我很惊讶这没有导致链接错误)

您的test.htest.cpp文件实现不正确。它们应该看起来更像这样:

测试.h

#pragma once
class Solution {
public:
void aaa();
};

测试.cpp

#include "test.h"
#include <iostream>
using namespace std;
void Solution::aaa() {
cout << "aaaaa" << endl;
}