面向对象

一.面向对象和面向过程:

 面向过程:就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

 面向对象:是把构成问题事务分解成各个对象,建立对象的目的不是为了完成某个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。


#include<iostream>

using namespace std;//namespace是名空间,为了解决词语匮乏的情况

#if 0

struct data //在C++中,结构体可以为空,并且占一个字节

{



};

int main()

{

  cout<<sizeof(data)<<endl;//cout是输出运算符,也是一种对象,endl是结束并且换行的标志



  return 0;

}

#endif



#if 0 //类:将不同类型的数据以及与这些数据相关的操作封装在一起构成一个集合,它是抽象的。

      //在内存里面不占空间。

// public,protected,private

class A

{

 int a;

 static int b;

 void print(){}  //普通的函数是不占空间的

 virtual void test1(){}  //所有的虚函数只占4个字节,因为其形成的是虚指针

 virtual void put(){}  //

};

int main()

{

  cout<<sizeof(A)<<endl;

  return 0;

}

#endif

#if 0

/*

函数重载:(给同一个名字赋予不同的含义)

1.函数名必须相同(同一个类);

2.函数参数列表不同(参数个数,参数类型,参数顺序);

3.和函数返回类型无关;

4.常成员函数可以构成重载(函数后面带有const)

*/

/*

 带有默认值的函数:

 1.默认值建议只在声明时,定义时不重新定义

 2.如果一个参数带默认值,其后的参数必须带默认值。

*/

/*

内联函数:

代码比较短小,函数功能比较简单,就可以作为内联函数来编译

inline : 程序员写inline只是个建议,编译器会根据实际情况来判断是否执行

*/

class clock

{

public:

  void set(int h = 0,int m = 0,int s = 0);

  void show()

  {

    cout<<m_hour<<":"<<m_minute<<":"<<m_second<<endl;

  }

private:

  int m_hour;

  int m_minute;

  int m_second;

};

int main()

{

class clock c,d,e,f;

c.set();

c.show();

d.set(1);

d.show();

e.set(1,2);

e.show();

f.set(1,2,3);

f.show();

}

void clock::set(int h,int m,int s)

{

 m_hour = h;

 m_minute  = m;

 m_second = s;

}

#endif

#if  0

class clock

{

 public:

void set();

void set(int h);

void set(int h,int m);

void set(int h,int m,int s);

void set()const;

void show()

{

 cout<<hour<<":"<<minute<<":"<<second<<endl;

}

private:

  int hour;

  int minute;

  int second;

};

void clock::set()

{

 hour = 5;

 minute =6;

 second = 7;

}

void clock::set(int h)

{

 hour = h;

 minute = 6;

 second = 7;

}

void clock::set(int h,int m)

{

 hour = h;

 minute = m;

 second = 7;

}

void clock::set(int h,int m,int s)

{

 hour = h;

 minute = m;

 second = s;

}

int main()

{

 class clock c,d,e,f;

 c.set();

 c.show();

 d.set(1);

 d.show();

 e.set(1,2);

 e.show();

 f.set(1,2,3);

 f.show();

}

#endif

#if 0

class clock

{

public:

  void set(int h = 0, int m = 0, int s = 0);

  void show();

private:

  int hour;

  int minute;

  int second;

};

void clock::set(int h,int m,int s)

{

 hour = h;

 minute = m;

 second = s;

}

int main()

{

  class clock d;

  d.set();

  d.show();

 return 0;

}

void clock::show()

  {

    cout<<hour<<":"<<minute<<":"<<second<<":"<<endl;

  }

#endif


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值