【发布时间】:2020-07-12 18:44:32
【问题描述】:
我正在阅读由 Jones & Bartlett 出版的由 Ulla Kirch-Prinz 和 Peter Prinz 编写的C++ 编程完整指南。在其中,有一个类的示例(第 246 页),我认为这是一个主要问题——不是因为它是一个错误,而是我听说你永远不应该做的事情:
// account.h
// Defining the class Account.
// ---------------------------------------------------
#ifndef _ACCOUNT_ // Avoid multiple inclusions.
#define _ACCOUNT_
#include <iostream>
#include <string>
using namespace std;
class Account
{
private: // Sheltered members:
string name; // Account holder
unsigned long nr; // Account number
double balance; // Account balance
public: //Public interface:
bool init( const string&, unsigned long, double);
void display();
};
#endif // _ACCOUNT_
include 守卫的宏以下划线开头和结尾。据我所知,下划线保留给标准库、操作系统和编译器使用,除非您正在创建操作系统或编译器,否则几乎没有理由使用它。
我知道这只是一个例子,但出于教人们良好编程习惯的意图和目的,他们似乎仍然把这个搞砸了。话虽如此,我对此还是很陌生,所以我可能是错的,这是合适的。
【问题讨论】:
-
为什么我的问题被否决了?