有没有用C ++编写的类

时间:2014-09-06 04:58:06

标签: c++

我有一个基本问题,因为我有一段时间没用过C ++。

我有一个像这样的头文件:

它将保持不变,但cpp文件将更改

#ifndef DOG_H_
#define DOG_H_

class Dog : Animal {
private:
    std::string breed;
public:
    Dog(std::string name, int age, std::string);

};



#endif /* DOG_H_ */

然后是CPP版本1:

#include "Dog.h"



Dog::Dog(std::string name, int age, std::string breedIn){
        Animal(name, age);
        breed = breedIn;
    }

或CPP第2版:

#include "Dog.h"

class Dog{


Dog::Dog(std::string name, int age, std::string breedIn){
        Animal(name, age);
        breed = breedIn; // the var name breed does not resolve
    }
};

版本1和版本2之间的区别在于第二个版本包含在class定义中。

我为什么要做一个而不是另一个。

其次,在第二个版本中,变量名称品种无法解析。那是为什么?

1 个答案:

答案 0 :(得分:0)

问:在第二个版本中,变量名称品种无法解析。那是为什么?

答:因为它错了。

在标题中。

您可以定义您的方法实现,无论是内联(在标头本身,当您声明类时),还是在单独的.cpp中(如您在示例1中所做的那样)。 这些链接可能有助于进一步解释: