菜鸟求助,error C2512: “A1”: 没有合适的默认构造函数可用

zzcv157 2013-05-06 10:32:33
class A{
public:
A();
~A();
};
//////////////////////////
#include"classA.h"
class A1:public A
{
public:
A1();
~A1();
};

//////////////////////

class B{
public:
B();
~B();

};
//////////////////////
#include "classB.h"
class B1:public B{
public:
B1();
~B1();
private:
A1*ptrA1;
};
///////////////////////
四个源文件
#include "classA.h"
#include "iostream"
using namespace std;
A::A()
{
cout<<"constructor A.\n";
}
A::~A()
{
cout<<"destructor A.\n";
}
//////////////////////////
#include "classA1.h"
#include "iostream"
using namespace std;
A1::A1()
{
cout<<"constructor A1.\n";
}
A1::~A1()
{
cout<<"destructor A1.\n";
}
///////////////////////////////
#include "classB.h"
#include "iostream"
using namespace std;
B::B()
{
cout<<"constructor B.\n";
}
B::~B()
{
cout<<"destructor B.\n";
}
/////////////////////////
#include "classB1.h"
#include "iostream"
using namespace std;
B1::B1()
{
cout<<"constructor B1.\n";
ptrA1 = new A1;
}
B1::~B1()
{
cout<<"destructor B1.\n";
}
//////////////////////////
主函数
#include "iostream"
using namespace std;
#include "classA1.h"
#include "classB1.h"
void main()
{
A1 objA;
B1 objB;
system("pause");
}
//////////////////////////////////////
错误:error C2512: “A1”: 没有合适的默认构造函数可用
...全文
62 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
nirvana_newbie 2013-05-06
  • 打赏
  • 举报
回复
A1 objA=new A; B1 objB=new B;
zzcv157 2013-05-06
  • 打赏
  • 举报
回复
引用 1 楼 adlay 的回复:
在报错的那个 cpp 上面 include 一下 A1 的头文件看看
#include "stdafx.h" #include "MyDLG.h" #include "SphereDlg.h" // CSphereDlg 对话框 IMPLEMENT_DYNAMIC(CSphereDlg, CDialog) CSphereDlg::CSphereDlg(CWnd* pParent /*=NULL*/) : CDialog(CSphereDlg::IDD, pParent) { sphereData = new CSphereData; } 像这一部分代码,我加了头文件但是还是出现了同样的错误,不过我这个CSphereData类前边有两个基类,是不是在前面的基类当中还要做一些处理
www_adintr_com 2013-05-06
  • 打赏
  • 举报
回复
在报错的那个 cpp 上面 include 一下 A1 的头文件看看

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧