C++头文件中的面向对象编程

Object Oriented Programming in C++ - Header Files

本文关键字:面向对象编程 文件 C++      更新时间:2023-10-16

在使用Java很长一段时间后,我最近切换到了C++。然而,我很难理解将头文件与类文件一起使用的整个概念。

首先,头不就是OOP上下文中的接口吗?

其次,如果我有以下代码,为什么会出现错误:

    //CExample.h
    //--START OF HEADER--         
    #ifndef CEXAMPLE_H
    #define CEXAMPLE_H
    #include <string>
    class CExample{
    private:
       string name;
    public:
       CExample();
      ~CExample();
       string getName();
    };
    #endif
   //--End of Header--

   //CExample.cpp
   //--Start of class file--
   #include "CExample.h"
   string CExample::getName()
   {
       return name;
   }
   //--End of class file--

我得到错误:"string"没有命名类型。

因此,作为我困惑的总结,我有以下问题:

1) 什么是最好和健康的使用方式包括在标题中。

2) 使用"和<>有什么具体区别for includes。(是的,我读了很多c++教程,但解释有些模糊——他们说这取决于目录位置等——如果可能的话,我希望一些c++老手能做出明确的声明)

3) C++中是否强制执行了命名约定?例如,在Java中,您需要使类名与定义的文件名相匹配。

对于问题3,不需要使类名和文件名相同,但必须保持cpp文件和头文件具有相同的名称