C++ 具有两个不同类的两个不同构造函数

C++ 具有两个不同类的两个不同构造函数,c++,C++,一个文件中可能有两个不同的构造函数,因为我有两个不同的类 例如: 在animal.h文件中 class Animal { .... } class Pet: public Animal { ... } 在my animal.cpp中: Animal::Animal() { } Pet::Pet() { } 技术上:是的,这是可能的。通常使用*.cpp和*.h或*.hpp文件的文件结构只是一种惯例。该语言不会阻止您为同一源文件中的两个不同类定义构造函数或其他成员函

一个文件中可能有两个不同的构造函数,因为我有两个不同的类

例如:

在animal.h文件中

class Animal
{
  .... 
}

class Pet: public Animal 
{
  ... 
}
在my animal.cpp中:

 Animal::Animal()
 {
 }

 Pet::Pet()
 {
 }

技术上:是的,这是可能的。通常使用*.cpp和*.h或*.hpp文件的文件结构只是一种惯例。该语言不会阻止您为同一源文件中的两个不同类定义构造函数或其他成员函数

动物h:

宠物h:

animal.cpp:


你是否应该这样做完全是另一回事。通常,这会使您的项目结构更难理解和维护。上面给出的例子是一个非常糟糕的情况,任何有能力的C++程序员都想重构。

代码看起来很好。你遇到什么问题了吗?获取更多详细信息-错误消息或意外行为。
#ifndef ANIMAL_H
#define ANIMAL_H

class Animal
{
public:
    Animal();
};

#endif
#ifndef PET_H
#define PET_H

#include "animal.h"

class Pet : public Animal
{
public:
    Pet();
};

#endif
#include "pet.h"

Pet::Pet() {}

Animal::Animal() {}