C++一天一个程序(三)

#include <stdio.h>
class Trace {
public:   
 Trace()
 {noisy = 0; }    
 void print(char* s)
 { if (noisy)
 printf("%s",s); } 
 void on()
 { noisy = 1; }    
 void off()
  { noisy = 0; }
 private: int noisy; 
 };
 C++改进版输入输出,前面两个列子使用和c语言相似。这种使用了C++的类。noisy是私有成员,当它被定义时,在类里面的关联函数已经被运算。这个函数中,只要noisy为非零数,就有输出。若输入0的话,关闭函数。
 对比
#include <stdio.h>
static int noisy = 1;
void trace(char *s) 
{    
if(noisy) printf("%s\n",s); 
}
void trace_on()
{ noisy = 1; }
void trace_off()
{ noisy = 0; }
第二种,浪费空间,占用内存,这种方式三个函数一一运行,无法在这个例子上来更改。
第一种 类的实现类似于通信中的系统(电路),有了基本模型,可以修改成类似作用的函数。

上一篇:rman备份时记录更多的log 或者trace信息


下一篇:[Oracle 工程师手记] EM Express 上的备份完成时间和RMAN表示的时间不一致