C7-3 用类实现a+b (100/100 分数)

本文介绍了一个使用C++实现的多重继承示例,其中包括两个基类Base1和Base2,以及一个派生类Derived。派生类继承自两个基类,并在构造函数中实现了基类成员变量的相加操作。

题目描述

下面的代码声明了两个基类Base1和Base2,然后从这两个基类按照公有方式派生出类Derived。基类和派生类都各自包含一个公有成员x,并且Base1和Base2各有接受一个整型参数的构造函数,Derived的构造函数接受Base1和Base2的对象引用a,b来初始化Derived类对象,并令x为Base1::x和Base2::x之和。请将下面的代码补充完成,使得输出符合要求。

#include <iostream>
using namespace std;

struct Base1
{
int x;
Base1(int x);
};

struct Base2
{
int x;
Base2(int x);
};

struct Derived:public Base1, public Base2
{
int x;
Derived(Base1& a, Base2& b);
};

//请实现Base1,Base2, Derived的构造函数

int main()
{
int x, y;
cin >> x >> y;
Base1 a(x);
Base2 b(y);
Derived d(a, b);
cout << d.Base1::x << "+" << d.Base2::x << "=" << d.x << endl;
return 0;
}



输入描述

每组输入为 2 个整数用空格隔开



输出描述

主函数自动完成输出



样例输入

 

1 2


样例输出

1+2=3
#include <iostream>
using namespace std;
 
struct Base1
{
    int x;
    Base1(int x);
};
 
struct Base2
{
    int x;
    Base2(int x);
};
 
struct Derived:public Base1, public Base2
{
    int x;
    Derived(Base1& a, Base2& b);
};

//请实现Base1,Base2, Derived的构造函数

Base1::Base1(int x){this->x=x;}

Base2::Base2(int x){this->x=x;}

Derived::Derived(Base1& a,Base2& b):Base1(a),Base2(b){x=Base1::x+Base2::x;}

int main()
{
    int x, y;
    cin >> x >> y;
    Base1 a(x);
    Base2 b(y);
    Derived d(a, b);
    cout << d.Base1::x << "+" << d.Base2::x << "=" << d.x << endl;
    return 0;
}

 

转载于:https://www.cnblogs.com/qianxuejin/p/9050384.html

function[T,E]=TCSMC3(parameters,orders,TSim,E0) h=0.001; n=round(TSim/h); q1=orders(1);q2=orders(2);q3=orders(3);q4=orders(4); k=parameters(1);a=parameters(2);mu=parameters(3);p=parameters(4); cp1=1;cp2=1;cp3=1;cp4=1;cp5=1;cp6=1;cp7=1;cp8=1;cp9=1;cp10=1; for j=1:n c1(j)=(1-(1+q1)/j)*cp1; c2(j)=(1-(1+q2)/j)*cp2; c3(j)=(1-(1+q3)/j)*cp3; c4(j)=(1-(1-2*q1)/j)*cp4; c5(j)=(1-(1+(q1-1))/j)*cp5; c6(j)=(1-(1+(q1-2))/j)*cp6; c7(j)=(1-(1-1)/j)*cp7; c8(j)=(1-(1-q1)/j)*cp8; c9(j)=(1-(2-q1)/j)*cp9; c10(j)=(1-(1+2*q1)/j)*cp10; cp1=c1(j);cp2=c2(j);cp3=c3(j);cp4=c4(j);cp5=c5(j);cp6=c6(j); cp7=c7(j);cp8=c8(j);cp9=c9(j);cp10=c10(j); end s11(1)=E0(1);s12(1)=E0(2);s13(1)=E0(3);s14(1)=E0(4); s21(1)=E0(5);s22(1)=E0(6);s23(1)=E0(7);s24(1)=E0(8); x1(1)=E0(9);x2(1)=E0(10);x3(1)=E0(11);x4(1)=E0(12); y1(1)=E0(13);y2(1)=E0(14);y3(1)=E0(15);y4(1)=E0(16); u11(1)=E0(17);u12(1)=E0(18);u13(1)=E0(19);u14(1)=E0(20); u21(1)=E0(21);u22(1)=E0(22);u23(1)=E0(23);u24(1)=E0(24); theta1(1)=E0(25);theta2(1)=E0(26);theta3(1)=E0(27);theta4(1)=E0(28); theta5(1)=E0(29);theta6(1)=E0(30);theta7(1)=E0(31);theta8(1)=E0(32); for i=2:n e1(i) = y1(i-1) - x1(i-1); e2(i) = y2(i-1) - x2(i-1); e3(i) = y3(i-1) - x3(i-1); e4(i) = y4(i-1) - x4(i-1); D_rho1_e1(i) = (1/gamma(1 - (q1))) * h^(-(q1)) * (e1(i)+memo(e1, c1, i-1)); D_rho1_e2(i) = (1/gamma(1 - (q2))) * h^(-(q2)) * (e2(i)+memo(e2, c1, i-1)); D_rho1_e3(i) = (1/gamma(1 - (q3))) * h^(-(q3)) * (e3(i)+memo(e3, c1, i-1)); D_rho1_e4(i) = (1/gamma(1 - (q4))) * h^(-(q4)) * (e4(i)+memo(e4, c1, i-1)); term1(i) = e1(i)+sign(e1(i))*abs(e1(i))^(1-a); term2(i) = e2(i)+sign(e2(i))*abs(e2(i))^(1-a); term3(i) = e3(i)+sign(e3(i))*abs(e3(i))^(1-a); term4(i) = e4(i)+sign(e4(i))*abs(e4(i))^(1-a); D_rho1_term1(i) = (1/gamma(1 - (-q1))) * h^(-(-q1)) * (term1(i)+memo(term1, c8, i-1)); D_rho1_term2(i) = (1/gamma(1 - (-q2))) * h^(-(-q2)) * (term2(i)+memo(term2, c8, i-1)); D_rho1_term3(i) = (1/gamma(1 - (-q3))) * h^(-(-q3)) * (term3(i)+memo(term3, c8, i-1)); D_rho1_term4(i) = (1/gamma(1 - (-q4))) * h^(-(-q4)) * (term4(i)+memo(term4, c8, i-1)); s11(i)=D_rho1_e1(i)+2*k*e1(i)+k*sign(e1(i))*abs(e1(i))^(1-a)+(k^2)*D_rho1_term1(i); s12(i)=D_rho1_e2(i)+2*k*e2(i)+k*sign(e2(i))*abs(e2(i))^(1-a)+(k^2)*D_rho1_term2(i); s13(i)=D_rho1_e3(i)+2*k*e3(i)+k*sign(e3(i))*abs(e3(i))^(1-a)+(k^2)*D_rho1_term3(i); s14(i)=D_rho1_e4(i)+2*k*e4(i)+k*sign(e4(i))*abs(e4(i))^(1-a)+(k^2)*D_rho1_term4(i); s21(i)=D_rho1_e1(i)+k*sign(e1(i))*abs(e1(i))^(1-a)-(k^2)*D_rho1_term1(i); s22(i)=D_rho1_e2(i)+k*sign(e2(i))*abs(e2(i))^(1-a)-(k^2)*D_rho1_term2(i); s23(i)=D_rho1_e3(i)+k*sign(e3(i))*abs(e3(i))^(1-a)-(k^2)*D_rho1_term3(i); s24(i)=D_rho1_e4(i)+k*sign(e4(i))*abs(e4(i))^(1-a)-(k^2)*D_rho1_term4(i); s1(i)=s11(i)+s21(i); s2(i)=s12(i)+s22(i); s3(i)=s13(i)+s23(i); s4(i)=s14(i)+s24(i); D_rho1_s11(i) = (1/gamma(1 - (-q1))) * h^(-(-q1)) * (s11(i)+memo(s11, c8, i-1)); D_rho1_s12(i) = (1/gamma(1 - (-q2))) * h^(-(-q2)) * (s12(i)+memo(s12, c8, i-1)); D_rho1_s13(i) = (1/gamma(1 - (-q3))) * h^(-(-q3)) * (s13(i)+memo(s13, c8, i-1)); D_rho1_s14(i) = (1/gamma(1 - (-q4))) * h^(-(-q4)) * (s14(i)+memo(s14, c8, i-1)); u11(i)=(-20*x1(i-1)+35*x2(i-1)-x4(i-1))... -(y2(i-1))... -2*k*e1(i)-k*sign(e1(i))*abs(e1(i))^(1-a)-(k^2)*D_rho1_term1(i); u12(i)=(30*x1(i-1)-x1(i-1)*x3(i-1)-x2(i-1))... -(-y1(i-1)+y2(i-1)*y3(i-1))... -2*k*e2(i)-k*sign(e2(i))*abs(e2(i))^(1-a)-(k^2)*D_rho1_term2(i); u13(i)=(x1(i-1)*x2(i-1)-5*(x1(i-1)+x3(i-1)))... -(-y1(i-1)-10*y1(i-1)*y2(i-1)-y1(i-1)*y3(i-1))... -2*k*e3(i)-k*sign(e3(i))*abs(e3(i))^(1-a)-(k^2)*D_rho1_term3(i); u14(i)=(16*(x1(i-1)+x2(i-1)))... -(-y1(i-1)*y2(i-1)+y4(i-1))... -2*k*e4(i)-k*sign(e4(i))*abs(e4(i))^(1-a)-(k^2)*D_rho1_term4(i); zerm1(i) = sign(s1(i)); zerm2(i) = sign(s2(i)); zerm3(i) = sign(s3(i)); zerm4(i) = sign(s4(i)); D_rho1_zerm1(i) = (1/gamma(1 - (-q1))) * h^(-(-q1)) * (zerm1(i)+memo(zerm1, c8, i-1)); D_rho1_zerm2(i) = (1/gamma(1 - (-q2))) * h^(-(-q2)) * (zerm2(i)+memo(zerm2, c8, i-1)); D_rho1_zerm3(i) = (1/gamma(1 - (-q3))) * h^(-(-q3)) * (zerm3(i)+memo(zerm3, c8, i-1)); D_rho1_zerm4(i) = (1/gamma(1 - (-q4))) * h^(-(-q4)) * (zerm4(i)+memo(zerm4, c8, i-1)); u21(i)=-(theta1(i-1))*D_rho1_zerm1(i); u22(i)=-(theta2(i-1))*D_rho1_zerm2(i); u23(i)=-(theta3(i-1))*D_rho1_zerm3(i); u24(i)=-(theta4(i-1))*D_rho1_zerm4(i); u1(i)=u11(i)+u21(i); u2(i)=u12(i)+u22(i); u3(i)=u13(i)+u23(i); u4(i)=u14(i)+u24(i); x1(i)=(-20*x1(i-1)+35*x2(i-1)-x4(i-1)-0.25*x1(i-1)*sin(4*(i-1))+0.1*cos((i-1)))*h^q1-memo(x1,c1,i); x2(i)=(30*x1(i-1)-x1(i-1)*x3(i-1)-x2(i-1)-0.25*cos(2*(i-1))*x2(i-1)+0.1*cos((i-1)))*h^q1-memo(x2,c1,i); x3(i)=(x1(i-1)*x2(i-1)-5*(x1(i-1)+x3(i-1))+0.1*sin(3*(i-1))*x3(i-1)+0.1*cos(2*(i-1)))*h^q1-memo(x3,c1,i); x4(i)=(16*(x1(i-1)+x2(i-1))-0.25*cos(2*(i-1))*x4(i-1)+0.1*sin((i-1)))*h^q1-memo(x4,c1,i); y1(i)=(y2(i-1)-0.15*sin(4*(i-1))*y1(i-1)+0.1*sin((i-1))+u1(i))*h^q2-memo(y1,c2,i); y2(i)=(-y1(i-1)+y2(i-1)*y3(i-1)+0.15*cos(4*(i-1))*y2(i-1)+0.1*sin((i-1))+u2(i))*h^q2-memo(y2,c2,i); y3(i)=(-y1(i-1)-10*y1(i-1)*y2(i-1)-y1(i-1)*y3(i-1)+0.15*sin(4*(i-1))*y3(i-1)+0.1*sin((i-1))+u3(i))*h^q2-memo(y3,c2,i); y4(i)=(-y1(i-1)*y2(i-1)+y4(i-1)-0.25*sin(i-1)*y4(i-1)+0.1*sin((i-1))+u4(i))*h^q2-memo(y4,c2,i); abs_s1(i)=abs(s1(i)); abs_s2(i)=abs(s2(i)); abs_s3(i)=abs(s3(i)); abs_s4(i)=abs(s4(i)); D_rho1_abs_s1(i) = (1/gamma(1 - (-q1))) * h^(-(-q1)) * (abs_s1(i)+memo(abs_s1, c8, i-1)); D_rho1_abs_s2(i) = (1/gamma(1 - (-q2))) * h^(-(-q2)) * (abs_s2(i)+memo(abs_s2, c8, i-1)); D_rho1_abs_s3(i) = (1/gamma(1 - (-q3))) * h^(-(-q3)) * (abs_s3(i)+memo(abs_s3, c8, i-1)); D_rho1_abs_s4(i) = (1/gamma(1 - (-q4))) * h^(-(-q4)) * (abs_s4(i)+memo(abs_s4, c8, i-1)); theta1(i)=mu*D_rho1_abs_s1(i); theta2(i)=mu*D_rho1_abs_s2(i); theta3(i)=mu*D_rho1_abs_s3(i); theta4(i)=mu*D_rho1_abs_s4(i); theta5(i)=mu*D_rho1_abs_s1(i); theta6(i)=mu*D_rho1_abs_s2(i); theta7(i)=mu*D_rho1_abs_s3(i); theta8(i)=mu*D_rho1_abs_s4(i); end for j=1:n E(j,1)=s11(j); E(j,2)=s12(j); E(j,3)=s13(j); E(j,4)=s14(j); E(j,5)=s21(j); E(j,6)=s22(j); E(j,7)=s23(j); E(j,8)=s24(j); E(j,9)=x1(j); E(j,10)=x2(j); E(j,11)=x3(j); E(j,12)=x4(j); E(j,13)=y1(j); E(j,14)=y2(j); E(j,15)=y3(j); E(j,16)=y4(j); E(j,17)=u11(j); E(j,18)=u12(j); E(j,19)=u13(j); E(j,20)=u14(j); E(j,21)=u21(j); E(j,22)=u22(j); E(j,23)=u23(j); E(j,24)=u24(j); E(j,25)=theta1(j); E(j,26)=theta2(j); E(j,27)=theta3(j); E(j,28)=theta4(j); E(j,29)=theta5(j); E(j,30)=theta6(j); E(j,31)=theta7(j); E(j,32)=theta8(j); end T=h:h:TSim; end [t,y]=TCSMC3([5.5 0.35 0.08 0.05],... [0.987 0.987 0.987 0.987]... ,2,[1 1 1 1 ... 1 1 1 1 ... -3.2 -8.5 3.5 3.3... 0.3 0.5 0.5 0.2 ... 0.1 0.1 0.1 0.1 ... 0.1 0.1 0.1 0.1 ... 0 0 0 0 ... 0 0 0 0 ... ]); figure(1); subplot(4,1,1); plot(t,y(:,9),&#39;b-&#39;,t,y(:,13),&#39;r--&#39;); xlabel(&#39;Time(sec)&#39;); ylabel(&#39;{x}_{1},{y}_{1}&#39;) title(&#39;a&#39;) grid on; subplot(4,1,2); plot(t,y(:,10),&#39;b-&#39;,t,y(:,14),&#39;r--&#39;); xlabel(&#39;Time(sec)&#39;); ylabel(&#39;{x}_{2},{y}_{2}&#39;) title(&#39;b&#39;) grid on; subplot(4,1,3); plot(t,y(:,11),&#39;b-&#39;,t,y(:,15),&#39;r--&#39;); xlabel(&#39;Time(sec)&#39;); ylabel(&#39;{x}_{3},{y}_{3}&#39;) title(&#39;c&#39;) grid on; subplot(4,1,4); plot(t,y(:,12),&#39;b-&#39;,t,y(:,16),&#39;r--&#39;); xlabel(&#39;Time(sec)&#39;); ylabel(&#39;{x}_{4},{y}_{4}&#39;) title(&#39;d&#39;) grid on; figure(2); subplot(4,1,1); plot(t,y(:,13)-y(:,9),&#39;k&#39;); xlabel(&#39;Time(sec)&#39;); ylabel(&#39;{e}_{1}&#39;) title(&#39;a&#39;) grid on; subplot(4,1,2); plot(t,y(:,14)-y(:,10),&#39;k&#39;); xlabel(&#39;Time(sec)&#39;); ylabel(&#39;{e}_{2}&#39;) title(&#39;b&#39;) grid on; subplot(4,1,3); plot(t,y(:,15)-y(:,11),&#39;k&#39;); xlabel(&#39;Time(sec)&#39;); ylabel(&#39;{e}_{3}&#39;) title(&#39;c&#39;) grid on; subplot(4,1,4); plot(t,y(:,16)-y(:,12),&#39;k&#39;); xlabel(&#39;Time(sec)&#39;); ylabel(&#39;{e}_{4}&#39;) title(&#39;d&#39;) grid on; figure(3); plot(t,y(:,13)-y(:,9),&#39;b-&#39;,t,y(:,14)-y(:,10),&#39;r--&#39;,t,y(:,15)-y(:,11),&#39;g-&#39;,t,y(:,16)-y(:,12),&#39;k-.&#39;); xlabel(&#39;Time(sec)&#39;); ylabel(&#39;e1,e2,e3,e4&#39;) legend(&#39;e1&#39;,&#39;e2&#39;,&#39;e3&#39;,&#39;e4&#39;) title(&#39;nice&#39;) grid on; figure(4); subplot(2,2,1); plot(t,y(:,1),&#39;k--&#39;) xlabel(&#39;Time(sec)&#39;); ylabel(&#39;s11&#39;) title(&#39;s11&#39;) grid on; subplot(2,2,2); plot(t,y(:,2),&#39;r--&#39;) xlabel(&#39;Time(sec)&#39;); ylabel(&#39;s12&#39;) title(&#39;s12&#39;) grid on; subplot(2,2,3); plot(t,y(:,3),&#39;g--&#39;) xlabel(&#39;Time(sec)&#39;); ylabel(&#39;s13&#39;) title(&#39;s13&#39;) grid on; subplot(2,2,4); plot(t,y(:,4),&#39;k--&#39;) xlabel(&#39;Time(sec)&#39;); ylabel(&#39;s14&#39;) title(&#39;s14&#39;) grid on; figure(5); subplot(2,2,1); plot(t,y(:,5),&#39;k--&#39;) xlabel(&#39;Time(sec)&#39;); ylabel(&#39;s21&#39;) title(&#39;s21&#39;) grid on; subplot(2,2,2); plot(t,y(:,6),&#39;r--&#39;) xlabel(&#39;Time(sec)&#39;); ylabel(&#39;s22&#39;) title(&#39;s22&#39;) grid on; subplot(2,2,3); plot(t,y(:,7),&#39;g--&#39;) xlabel(&#39;Time(sec)&#39;); ylabel(&#39;s23&#39;) title(&#39;s23&#39;) grid on; subplot(2,2,4); plot(t,y(:,8),&#39;k--&#39;) xlabel(&#39;Time(sec)&#39;); ylabel(&#39;s24&#39;) title(&#39;s24&#39;) grid on; figure(6); plot(t,y(:,1)+y(:,5),&#39;b-&#39;,t,y(:,2)+y(:,6),&#39;r--&#39;,t,y(:,3)+y(:,7),&#39;g-&#39;,t,y(:,4)+y(:,8),&#39;k-.&#39;); xlabel(&#39;Time(sec)&#39;); ylabel(&#39;s1,s2,s3,s4&#39;) legend(&#39;s1&#39;,&#39;s2&#39;,&#39;s3&#39;,&#39;s4&#39;) title(&#39;nice&#39;) grid on; figure(7); plot(t,y(:,1),&#39;b-&#39;,t,y(:,5),&#39;k-.&#39;,t,y(:,1)+y(:,5),&#39;g-&#39;,t,y(:,33),&#39;r--&#39;); xlabel(&#39;Time(sec)&#39;); ylabel(&#39;s11,&#39;) legend(&#39;s11&#39;,&#39;s21&#39;,&#39;s1&#39;,&#39;s5&#39;) title(&#39;nice&#39;) grid on; figure(8); subplot(2,2,1); plot(t,y(:,25),&#39;k--&#39;) xlabel(&#39;Time(sec)&#39;); ylabel(&#39;theta1&#39;) title(&#39;theta1&#39;) grid on; subplot(2,2,2); plot(t,y(:,26),&#39;r--&#39;) xlabel(&#39;Time(sec)&#39;); ylabel(&#39;theta2&#39;) title(&#39;theta2&#39;) grid on; subplot(2,2,3); plot(t,y(:,27),&#39;g--&#39;) xlabel(&#39;Time(sec)&#39;); ylabel(&#39;theta3&#39;) title(&#39;theta3&#39;) grid on; subplot(2,2,4); plot(t,y(:,28),&#39;k--&#39;) xlabel(&#39;Time(sec)&#39;); ylabel(&#39;theta4&#39;) title(&#39;theta4&#39;) grid on; figure(10); plot3(y(:,9),y(:,10),y(:,11),&#39;g&#39;, &#39;LineWidth&#39;, 1.5); hold on; plot3(y(:,13),y(:,14),y(:,15), &#39;r--&#39;, &#39;LineWidth&#39;, 1.5); legend(&#39;主系统Chen&#39;, &#39;从系统Lorenz&#39;); title(&#39;相空间轨迹对比&#39;); xlabel(&#39;x_1/y_1&#39;); ylabel(&#39;x_2/y_2&#39;); zlabel(&#39;x_3/y_3&#39;); grid on; %} 将前面给你的代码中使用的神经网络方法,应用到我的这个分数阶混沌同步中来,在我的代码基础上进行增加,注意一点要在我的代码基础上改,并将完整的代码输出给我,一定要完整可运行,并将完整的数学模型输出给我,让我可以看懂
最新发布
07-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值