南京信息工程大学实验报告(三)

四、实验结论
4-11

# include <iostream>
using namespace std;

class Square{
public:
    Square(float a,float b);
    float area();
private:
    float length,width;
};

Square::Square(float a,float b){
    length=a;
    width=b;
}

float Square::area(){
    return length*width;
}

int main(){
    float length,width;
    
    cout<<"Enter the length:";
    cin>>length;
    cout<<"Enter the width:";
    cin>>width;
    
    Square Square(length,width);
    cout<<"The area is:"<<Square.area()<<endl;
    return 0;
}

1349923-20180408224025281-1522875031.png

4-20

#include<iostream>
using namespace std;
class Complex
{
public:
 Complex(double real,double imaginary);
 Complex(double real);
 void add(Complex &c);
 void show();
 
private:
  double r0;
  double i0;
};
Complex::Complex(double real,double imaginary)
{
 r0=real;
 i0=imaginary;
}
Complex::Complex(double real)
{
  r0=real;
  i0=0;
}
void Complex::add(Complex &c0)
{
 r0+=c0.r0;
 i0+=c0.i0;
}
void Complex::show()
{
 cout<<r0<<"+"<<i0<<'i'<<endl;
}
 
int main()
{
 Complex c1(3,5);
 Complex c2=4.5;
 c1.add(c2);
 c1.show();
 return 0;
}

1349923-20180408224122977-129488525.png

1.类—构造函数(默认值)—参数—成员函数,其中调用实现都很细碎,马虎就容易漏掉细节,导致bug。
2.复制构造函数和析构函数还不是很懂得使用。默认的复制构造只是浅复制,会带来数据安全方面的隐患。浅复制和深复制还要在查一下。
3.第一个程序加复制构造反而不会了。

五、实验总结和体会
1.公共里面的参数要赋值给私有里面的,如果主函数要用到里面的函数,要调用,还有“类名.”总是会忘记。
2.4-11一开始有问题,是因为忘记把输入的两个变量值放进函数中了,都不把要调用的函数写进main函数,直接输出,当然就bug了。

  1. 4-20百度了一下,有个网友在输出的时候的条件是(i>0 ? '+':'-')但是感觉这样不对。
    4.其实自己还是挺混乱的,并没有搞清楚每一块程序的作用,才会导致自己编写的时候问题百出。

转载于:https://www.cnblogs.com/zxy666/p/8748037.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值