C++:构造函数在类内声明,类外定义 为什么无法运行呢?

classA(){inta,b;public:A(intparam1,intparam2);}A::A(intparam1,intparam2):a(param1),b(... class A() {
int a,b;
public:
A(int param1, int param2);
}
A::A(int param1, int param2) :
a(param1), b(param2) {
}
int main() {
A object(1, 2);
cout<<object.a<<endl;
cout<<object.b<<endl;
return 0;
}
展开
 我来答
ingXII
2012-11-14 · 超过14用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:14.6万
展开全部
  你的 int a,b; 是私有的 (默认不加public时)

  所以main里访问不了

  你可以改成:
  class A() {
  public:
   int a,b; //放在public里
   A(int param1, int param2);
  }

或者:
  class A() {
   int a,b;
  public:
   A(int param1, int param2);
int GetA(){return a;};
int GetB(){return b;};
  }
然后在调用
cout<<object.GetA()<<endl;
cout<<object.GetB()<<endl;
匿名用户
2012-11-14
展开全部
你的程序由2个错误:
class A() { //需要删掉(),即class A{
int a,b;
public:
A(int param1, int param2);
} //需要添加一个分号 ;
A::A(int param1, int param2):a(param1), b(param2) {}
int main() {
A object(1, 2);
cout<<object.a<<endl;
cout<<object.b<<endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiangdon_2007
2012-11-14 · TA获得超过210个赞
知道小有建树答主
回答量:262
采纳率:0%
帮助的人:189万
展开全部
#include <iostream.h>
class CA
{
public:
int a,b;
public:
CA(int param1, int param2);
CA();
~CA();
}; //你的类定义没有;结尾
CA::CA(int param1, int param2) :a(param1),b(param2)

{

}
CA::CA()
{

}
CA::~CA()
{

}
int main() {
CA object(1, 2);
cout<<object.a<<endl;
cout<<object.b<<endl;
return 0;
}

// 输出结果
1
2
Press any key to continue
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weidong3630
2015-09-24 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:322
采纳率:28%
帮助的人:78.2万
展开全部
是无法运行,还是无法编译?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式