c++ 类总结

这里是Joe本人的学习笔记,如果能帮助到你,那我受宠若惊!

不知不觉学习c++类已经一周多了,这里给出我的总结,作为以后的复习资料。

类的基本知识

类的成员函数:

返回值类型 类名 :: 函数成员名(参数表)

{

函数体

}

void Clock::set(int a,int b,int c){
           函数体
}

构造函数:

没有返回值,函数名与类名相同,

Clock::Clock(int a,int b,int c){//构造函数的实现
      函数体
}

复制构造函数:

声明:

class 类名

{

public:

  •  类名(形参表){  }
  •  类名(类名 &对象名);

};

实现:

类名::类名(类名 & 对象名){

函数体

}

class Point{

public:
   Point(int xx=0,int yy=0)//构造函数
   {
          x=xx;
          y=yy;
   }
   Point(Point &p);//复制构造函数
 

}

类的组合:

组合类的构造函数:

类名::类名(参数表):内嵌对象1(参数表),内嵌对象2(参数表),...

{

类的初始化

}

组合类的复制构造函数:

C::C(C &c1) : b(c1.b),...{

...

}

#include<iostream>
#include<cmath>
using namespace std;
class Point {
    public:
       Point(int xx=0,int yy=0){
           x=xx;
           y=yy;
       }
       Point (Point &p);
       int getx(){
           return x;
       }
       int gety(){
           return y;
       }
    private:
       int x,y;

};
Point::Point(Point &p){
    x=p.x;
    y=p.y;

}
class line{
    public: 
      line(Point xp1,Point xp2);
      line(line &l);
      double getlen(){return len;}
    private:
      
      Point p1,p2;
      double len;
};
line::line(Point xp1,Point xp2) :p1(xp1),p2(xp2){//组合类的构造函数
    double x=static_cast<double> (p1.getx()-p2.getx());
    double y=static_cast<double> (p1.gety()-p2.gety());
    len=sqrt(x*x+y*y);
}
line::line(line &l):p1(l.p1),p2(l.p2){//组合类的复制构造函数
    len=l.len;
}
int main(){
    Point myp1(1,1),myp2(4,5);
    line l1(myp1,myp2);
    line l2(l1);
    cout<<l1.getlen()<<endl;
    cout<<l2.getlen()<<endl;

}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值