繁体   English   中英

在另一个类中创建类对象

[英]Creating class object in another class

我创建了两个类对象,每个对象都有一个构造函数,并且我试图使一个类对象成为另一个对象中的私有变量。 这是我尝试做的一个简单示例,而不是实际的类名,而是一个示例。 有更多的公共变量和私有变量,但为简单起见,我将它们省略了。 每个类都有一个单独的.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"

您的问题是,您还在轮胎.h中包含“ includes.h”。 编译时,先编译tire.h,然后定义保护措施_tire_h_(或无论保护措施如何)。 编译car.h时,未定义轮胎类。

从tire.h中删除include.h,应该可以正常编译。 关键是car.h中必须存在轮胎:

#include tire.h

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM