我是一个新手程序员,正在为学校编写一些代码。当执行以下代码时,将输出单词BAD。我不明白为什么终止WriteLettersObj对象时不输出析构函数中的字母C。
// Lab 1
//
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
class WriteLetters {
public:
WriteLetters();
void writeOneLetter();
~WriteLetters();
} WriteLettersObj;
WriteLetters::WriteLetters() {
cout << "B";
}
void WriteLetters::writeOneLetter() {
cout << "A";
}
WriteLetters::~WriteLetters() {
cout << "C" << endl;
}
int main() {
WriteLettersObj.writeOneLetter();
cout << "D";
getch();
return 0;
}
最佳答案
您正在将iostream与非ANSI conio.h混合。
进行更改:
// getch();
cin.get();
嘿,请问,C出现了。至少在OS X上可以。还有Ubuntu。
关于c++ - C++析构函数异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5958795/