C++ 类中的类成员变量怎么调用带参数的构造函数来初始化?
VC6.0编译出错errorC2059:syntaxerror:'constant'程序如下#include"stdafx.h"classA{public:A(){ax=...
VC6.0编译出错
error C2059: syntax error : 'constant'
程序如下
#include "stdafx.h"
class A
{
public:
A(){ax = 0;};
A(int a){ax = a;};
int ax;
};
class B
{
public:
void print()
{
printf("%d", bx.ax);
}
A bx(1);
};
int main(int argc, char* argv[])
{
B b;
b.print();
return 0;
}
出错在class B 中的
A bx(1);
这行 展开
error C2059: syntax error : 'constant'
程序如下
#include "stdafx.h"
class A
{
public:
A(){ax = 0;};
A(int a){ax = a;};
int ax;
};
class B
{
public:
void print()
{
printf("%d", bx.ax);
}
A bx(1);
};
int main(int argc, char* argv[])
{
B b;
b.print();
return 0;
}
出错在class B 中的
A bx(1);
这行 展开
2个回答
展开全部
要调用带参的构造函数,必须这样做:
#include "stdafx.h"
class A
{
public:
A(){ax = 0;};
A(int a){ax = a;};
int ax;
};
class B
{
public:
/******************/
B(int b) : bx(b) //这样调用
{
}
B() : bx(0) //这样也行
{
}
/*****************/
void print()
{
printf("%d", bx.ax);
}
/*************************/
A bx; //这样声明
/**************************/
};
int main(int argc, char* argv[])
{
/*********************/
B b; //使用B的默认构造函数
B bb(10); //使用B的带参构造函数
/*********************/
b.print();
bb.print();
return 0;
}
#include "stdafx.h"
class A
{
public:
A(){ax = 0;};
A(int a){ax = a;};
int ax;
};
class B
{
public:
/******************/
B(int b) : bx(b) //这样调用
{
}
B() : bx(0) //这样也行
{
}
/*****************/
void print()
{
printf("%d", bx.ax);
}
/*************************/
A bx; //这样声明
/**************************/
};
int main(int argc, char* argv[])
{
/*********************/
B b; //使用B的默认构造函数
B bb(10); //使用B的带参构造函数
/*********************/
b.print();
bb.print();
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询