VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 929|回复: 7

代码有误

[复制链接]

3

主题

3

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-7 14:20:01 | 显示全部楼层 |阅读模式
#include<iostream.h>
class Location{
private:
        int X,Y;
public:
        void init(int initX,int initY);
        int sumXY();
};
void Location:init(int initX, initY)
{
        X=initX;
         Y=initY;
}
int Location::sumXY()
{return X+Y;}
void main()
{Location A1;
int x,y;
A1init(5,3);
x=A1.X,y=A1.Y;
cout<<x+y<<" "<<A1.sumXY()<<endl;
}


是不是void Location:init(int initX, initY)这句错了?怎么改

如果不是的话,怎么改
回复

使用道具 举报

0

主题

19

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-1-7 18:45:01 | 显示全部楼层
void Location::init(int initX, int initY)
回复

使用道具 举报

0

主题

49

帖子

34.00

积分

新手上路

Rank: 1

积分
34.00
发表于 2020-1-7 22:00:01 | 显示全部楼层
#include<iostream.h>
class Location{
private:
        int X,Y;
public:
        void init(int initX,int initY);
        int sumXY();
};
void Location:init(int initX, int initY)
{
        X=initX;
         Y=initY;
}
int Location::sumXY()
{return X+Y;}
void main()
{Location A1;
int x,y;
A1.init(5,3);
x=A1.X,y=A1.Y;//X,Y是private成员,是不能通过A1.取得的,可以定义两个GetX,GetY的   
                //public成员函数
cout<<x+y<<" "<<A1.sumXY()<<endl;
}
回复

使用道具 举报

0

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-13 19:36:02 | 显示全部楼层
你说的那句有错,另外的也有错,应该是象下面的这样!!!!!!!

#include<iostream.h>
class Location{
private:
int X,Y;
public:
void init(int initX,int initY);
int sumXY();
};
void Location::init(int initX,int initY)
{
X=initX;
         Y=initY;
}
int Location::sumXY()
{return X+Y;}
void main()
{Location A1;
int x,y;
A1init(5,3);

x=A1.X,y=A1.Y;//此时对象是不能够访问类的私有属性的,不能够这样赋值.应该把这语句删了.

cout<<x+y<<" "<<A1.sumXY()<<endl;
}
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-14 14:27:01 | 显示全部楼层
新人啊,加加油哟. 很基本的问题.
回复

使用道具 举报

1

主题

27

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-1-16 08:36:02 | 显示全部楼层
我改的:
#include<iostream.h>
class Location
{
        public:
            int X,Y;
            void init(int initX,int initY);
            int sumXY();
};
void Location::init(int initX, int initY)
{
        X=initX;
       Y=initY;
}
int Location::sumXY()
{
        return X+Y;
}

void main()
{
        Location A1;
        int x,y;
        A1init(5,3);
        x=A1.X,y=A1.Y;
        cout<<x+y<<" "<<A1.sumXY()<<endl;
}
我不知道你的A1init用来干什么
所以没改.
回复

使用道具 举报

0

主题

5

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-20 15:54:01 | 显示全部楼层
FT>>>>又是基本简单问题。。。。。
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-22 21:36:01 | 显示全部楼层
我觉得是x=A1.X,y=A1.Y;这句话的问题 私有变量不能直接使用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表