| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 673 人关注过本帖
标题:C++程序编译错误,能帮忙看看吗?
取消只看楼主 加入收藏
全世界安静
Rank: 2
等 级:论坛游民
帖 子:104
专家分:65
注 册:2012-6-4
结帖率:31.58%
收藏
 问题点数:0 回复次数:1 
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
全世界安静
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
快速回复:C++程序编译错误,能帮忙看看吗?
数据加载中...
 
   



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

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