Aaron学习笔记

少壮不努力,长大没饭吃!
posts - 4, comments - 13, trackbacks - 0, articles - 37

类定义时防止 'class' type redefinition

Posted on 2009-04-01 15:26 赞劲小子 阅读(10978) 评论(0)  编辑 收藏 引用 所属分类: 日常练习
Vc++ 若出现这样的错误提示, 'class' type redefinition ,请参照本文
这个错误是因为“头文件被重复包含造成类被重复定义”防止出现可以用
#ifndef _ONCE_  
#define _ONCE_ 
class Date {
public:
    Date(
int = 1int = 1int = 1900 );
    
void print() const;
    
~Date();
private:
    
int month;
    
int day;
    
int year;
    
int checkDay(int);
}
;
#endif 

在类定义时,加入这三句,防止防止头文件被重复包含造成类被重复定义
class定义前加
ifndef _ONCE_ 
#define _ONCE_
class定义的分号后加
#endif

引用别人的话:
防止重复包含

防止头文件被重复包含造成类被重复定义
---------------------------------------------------------------

#ifndef 后面的内容可以任意,但最好唯一,并且易读。

----------------------------------------------------------
#ifndef __SOMETHING_H__
#define __SOMETHING_H__

// 头文件中的声明

#endif
----------------------------------------------------------

任何头文件都应该包含上面的内容,把真正的声明放在其中。
这组宏叫做“守卫宏”,为的就是防止头文件被重复包含所导致的类型被重复定义。


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理