| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 670 人关注过本帖
标题:C++程序编译错误,能帮忙看看吗?
只看楼主 加入收藏
全世界安静
Rank: 2
等 级:论坛游民
帖 子:104
专家分:65
注 册:2012-6-4
结帖率:31.58%
收藏
 问题点数:0 回复次数:4 
C++程序编译错误,能帮忙看看吗?
#include <iostream>
using namespace std;
class A{
    int a,b;
public:
    A(int x,int y){
        a=x;
        b=y;
    }
};
class B:public A{

};
class C:public B{
public:
    C(int x,int y):A(x,y){
    }
};

int main(){
    C c(1,2);
    return 0;
}
rror C2512: 'B' : no appropriate default constructor available
搜索更多相关主题的帖子: available default include public return 
2012-07-18 13:34
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
说得很清楚了
2012-07-18 14:12
全世界安静
Rank: 2
等 级:论坛游民
帖 子:104
专家分:65
注 册:2012-6-4
收藏
得分:0 
个人理解:构造C类时,首先要调用B类的构造函数,而构造B类,首先要调用A类的构造函数,因为缺少A类构造函数需要的两个参数,B类无法构造,所以提示B类构造不成功。
程序改为:
#include <iostream>
using namespace std;
class A{
    int a,b;
public:
    A(int x,int y){
        a=x;
        b=y;
    }
};
class B:public A{
public:
   B(int x,int y):A(x,y){
    }
};
class C:public B{
public:
    C(int x,int y):B(x,y){
    }
};

int main(){
    C c(1,2);
    return 0;
}
OK了!
2012-07-18 14:21
xunmi_1993
Rank: 2
等 级:论坛游民
帖 子:15
专家分:20
注 册:2012-7-3
收藏
得分:0 
楼上说的有道理。。。
2012-07-23 15:16
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
发现问题之后应该先试试自己想想看。不要刚一有问题就问,尤其有些问题的答案可能非常明显。
2012-07-23 23:32
快速回复:C++程序编译错误,能帮忙看看吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022944 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved