标题:新手求助!!!!
只看楼主
me100422
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-12-13
结帖率:50%
已结贴  问题点数:20 回复次数:10 
新手求助!!!!
#include<iostream>
using namespace std;
class point
{
public:
    int x;
    int y;
   
    point(int xx,int yy):x(xx),y(yy)
    {}
    void show()
    {
        cout<<x<<" "<<y<<endl;
    }
   
};
class my:public point
{
public:
    my(int xx,int yy,int aa,int bb):x(xx),y(yy),a(aa),b(bb){}
    void get()
    {
        cout<<a<<" "<<b<<endl;
    }
private:
    int a,b;
};
int main()
{
    my m(1,2,3,4);
    m.show();
    m.get();
    return 0;
}
--------------------Configuration: 10 - Win32 Debug--------------------
Compiling...
10.cpp
E:\C++6.0\Microsoft Visual Studio\MyProjects\10\10.cpp(20) : error C2512: 'point' : no appropriate default constructor available
E:\C++6.0\Microsoft Visual Studio\MyProjects\10\10.cpp(20) : error C2614: 'my' : illegal member initialization: 'y' is not a base or member
E:\C++6.0\Microsoft Visual Studio\MyProjects\10\10.cpp(20) : error C2614: 'my' : illegal member initialization: 'x' is not a base or member
执行 cl.exe 时出错.

10.obj - 1 error(s), 0 warning(s)
搜索更多相关主题的帖子: private include public return 
2012-12-13 12:57
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:15 
class my:public point
{
public:
    my(int xx,int yy,int aa,int bb): point(xx,yy),a(aa),b(bb){}
    void get()
    {
        cout<<a<<" "<<b<<endl;
    }
private:
    int a,b;
};
要让基类有合适的构造函数才行的

我行我乐
我的博客:
http://blog.yuccn. net
2012-12-13 13:02
深藏依旧
Rank: 2
等 级:论坛游民
帖 子:45
专家分:93
注 册:2012-12-8
得分:5 
point中的x y是私有成员,而你继承point 是public型的  所以在my类中不能用point类中的x y数据成员

厚积薄发
2012-12-13 13:05
深藏依旧
Rank: 2
等 级:论坛游民
帖 子:45
专家分:93
注 册:2012-12-8
得分:0 
楼上的初始化对的

厚积薄发
2012-12-13 13:07
me100422
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-12-13
得分:0 
回复 3楼 深藏依旧
point中的x,y是共有的
2012-12-13 13:07
深藏依旧
Rank: 2
等 级:论坛游民
帖 子:45
专家分:93
注 册:2012-12-8
得分:0 
失误!!

厚积薄发
2012-12-13 13:12
深藏依旧
Rank: 2
等 级:论坛游民
帖 子:45
专家分:93
注 册:2012-12-8
得分:0 
习惯定义成私有的了

厚积薄发
2012-12-13 13:12
me100422
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-12-13
得分:0 
回复 2楼 yuccn
恩恩 成功了 为什么像我那样写不行啊
2012-12-13 13:16
mmmmmmmmmmmm
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:8
帖 子:388
专家分:1809
注 册:2012-11-2
得分:0 
执行父类的构造函数

我们的目标只有一个:消灭0回复!
while(1)
++money;
2012-12-13 13:28
me100422
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-12-13
得分:0 
回复 9楼 mmmmmmmmmmmm
这样写 也可以 为什么呢
#include<iostream>
using namespace std;
class point
{
public:
    int x;
    int y;
    point(){}
    point(int xx,int yy)
    {
        x=xx;
        y=yy;
    }
    void show()
    {
        cout<<x<<" "<<y<<endl;
    }
   
};
class my:public point
{
public:
    my(int xx,int yy,int aa,int bb)
    {
        a=aa;
        b=bb;
        x=xx;
        y=yy;
    }
    void get()
    {
        cout<<a<<" "<<b<<endl;
    }
private:
    int a,b;
};
int main()
{
    my m(1,2,3,4);
    m.show();
    m.get();
    return 0;
}
2012-12-14 15:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-391044-1-1.html




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

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