关于C++继承问题,我的是保护继承,请问子类的对象赋值后怎么输出基类成员的值
#include<iostream>usingnamespacestd;classA{public:voidintiA(intxx,intyy){x=xx;y=yy;t=...
#include<iostream>
using namespace std;
class A{
public:
void intiA(int xx,int yy)
{
x=xx;
y=yy;
t=1;
}
int get_x()
{return x;}
int get_y()
{return y;}
protected:
int t;
void moveA(int newx,int newy)
{
x=x+newx;
y=y+newy;
}
private:
int x;
int y;
};
class B:protected A
{
public:
void intiB(int x1,int x2,int x3)
{
intiA(x1,x2);//老师说X1,X2的值没有传递回父类,有没有告诉我怎么传递回去啊
w=x3;
z=2;
}
int get_w()
{return w;}
protected:
int z;
void moveB(int y1,int y2,int y3)
{
moveA(y1,y2);
w=w+y3;
}
private:
int w;
};
int main()
{
A a1;
a1.intiA(7,8);
cout<<a1.get_x()<<endl;
B b1;
b1.intiB(4,5,6);//我想输出4和5咯
//cout<<a1.get_x()<<endl;
cout<<b1.get_w()<<endl;
//b1.moveB(7,8,9);
//cout<<b1.get_w()<<endl;
return 0;
} 展开
using namespace std;
class A{
public:
void intiA(int xx,int yy)
{
x=xx;
y=yy;
t=1;
}
int get_x()
{return x;}
int get_y()
{return y;}
protected:
int t;
void moveA(int newx,int newy)
{
x=x+newx;
y=y+newy;
}
private:
int x;
int y;
};
class B:protected A
{
public:
void intiB(int x1,int x2,int x3)
{
intiA(x1,x2);//老师说X1,X2的值没有传递回父类,有没有告诉我怎么传递回去啊
w=x3;
z=2;
}
int get_w()
{return w;}
protected:
int z;
void moveB(int y1,int y2,int y3)
{
moveA(y1,y2);
w=w+y3;
}
private:
int w;
};
int main()
{
A a1;
a1.intiA(7,8);
cout<<a1.get_x()<<endl;
B b1;
b1.intiB(4,5,6);//我想输出4和5咯
//cout<<a1.get_x()<<endl;
cout<<b1.get_w()<<endl;
//b1.moveB(7,8,9);
//cout<<b1.get_w()<<endl;
return 0;
} 展开
2个回答
展开全部
#include<iostream>
using namespace std;
class A
{
public:
void intiA(int xx,int yy)
{
x=xx;
y=yy;
}
int get_x()
{
return x;
}
int get_y()
{
return y;
}
void moveA(int newx,int newy)
{
x=x+newx;
y=y+newy;
}
private:
int x;
int y;
};
class B:public A
{
public:
void intiB(int x1,int x2,int x3)
{
intiA(x1,x2);//老师说X1,X2的值没有传递回父类,有没有告诉我怎么传递回去啊
w=x3;
}
int get_w()
{
return w;
}
void moveB(int y1,int y2,int y3)
{
moveA(y1,y2);
w=w+y3;
}
private:
int w;
};
int main()
{
A a1;
a1.intiA(7,8);
cout<<a1.get_x()<<endl;
B b1;
b1.intiB(4,5,6);//我想输出4和5咯
cout<<b1.get_x()<<endl;
cout<<b1.get_w()<<endl;
b1.moveB(7,8,9);
cout<<b1.get_w()<<endl;
return 0;
}
更多追问追答
追问
你确定编译能够通过吗???????
追答
你自己运行下不就知道了啊
深美林评估
2024-12-26 广告
2024-12-26 广告
房屋继承的步骤:1、房屋评估:首先必须通过评估公司对房屋进行市值评估。2、继承公证:申请人应当到房屋所在地的公证处办理继承公证,领取继承公证书。3、房屋测绘。4、继承登记。办理程序:房产继承应先到公证处办理房产继承公证手续,再到房产交易中心...
点击进入详情页
本回答由深美林评估提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询