[英]Problem In Separating The Interface And The Implementation
这是我第一次尝试将类隔离在单独的头文件中,但遇到错误,请帮帮我。感谢代码:
我的主要功能:
#include <iostream>
#include <MyClass>
int MyClass::data;
int main()
{
cout<<"data="<<MyClass::data;
system("pause");
return 0;
}
MyClass.h
#ifndef MyClass
#define <MyClass>
class MyClass
{
static int data_;
};
#endif
错误:致命错误C1083:无法打开包含文件:'MyClass.h':没有此类文件或目录
你应该用
#include "MyClass.h"
尖括号用于系统接头连接器。
也是data
或data_
吗?
而且它会更好一些
#if !defined(MYCLASS_H_INCLUDED)
#define MYCLASS_H_INCLUDED
...
#endif
#define
define-提供与类名称相同的名称将成为问题的根源
将C ++的定义和实现分开的第一个好主意。 您的#include
指令应使用"
而不是<
>
因为您的标头不是系统标头。或者您的标头与cpp文件不在同一目录中。
那是另一个话题,但是OO不仅仅是使用某些类。 将静态变量封装在类中不会使它们的全局性降低...至少它们具有另一个名称空间...
使用#include“ Myclass.h”代替#include
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.