首页 文章

在另一个类中创建类对象

提问于
浏览
0

我创建了两个类对象,每个对象都有一个构造函数,我试图让一个类对象成为另一个对象中的私有变量 . 这是我想要做的一个简单的例子,而不是实际的类名,而是一个例子 . 有更多的公共和私人变量,但为了简单起见,我把它们排除在外 . 每个类都有一个单独的.cpp和头文件,每个头都有保护器(#ifndef等)所以基本上我有类轮胎的私有和公共函数和变量,然后我试图使用私有变量制作类车轮胎类型 .

它将在车内没有轮胎物体的情况下建造,但是当我试图将轮胎MAKE放入车内时,我得到以下错误:

错误C2146:语法错误:缺少';'在标识符'A'之前错误C4430:缺少类型说明符 - 假定为int . 注意:C不支持default-int

class tire{
    tire();
public:
    double a,b,c,d;
private:
    double e,f,g,h;
};

class car{
    car();
public:
    double i,j,k;
private:
    tire MAKE;
};

编辑:我有一个名为Includes.h的单独头文件,其中包含项目的所有头文件 . 看起来像

#include <iostream>
#include <string>
#include "tire.h"
#include "car.h"

然后在tire.h和car.h我有

#include "Includes.h"

1 回答

  • 0

    你的问题是你在tire.h中也包含了“includes.h” . 在编译时,首先编译了tire.h,并且安全措施定义了_tire_h_(或者你的安全措施是什么) . 编译car.h时,轮胎类没有定义 .

    从tire.h中删除includes.h并且编译正常 . 关键是轮胎必须存在于car.h中:

    #include tire.h
    
    class car{
        car();
    public:
        double i,j,k;
    private:
        tire MAKE;
    };
    

相关问题