c++构造函数

一:了解内存分区

1:栈区:int x=0;int*p=NULL;//null是栈区存储,程序员不需要管理
2:堆区:int*p=new int[20];
3:全局区:存储全局变量及静态变量。
4:常量区:string str="hello";
5:代码区:存储逻辑代码的二进制。

以下在这里插入代码片是一个对象结构

class Car
 {
private:
int wheelcount;
public:
   int grtWheelCount()
   {return wheelcount;}
 }

实例化了car1,car2,car3.对象里的数据没有初始化,那么无法进入到代码区使用。以坦克大战为例:

class Tank
{
private:
   int m_iposX;//横坐标
   int m_iposY;//纵坐标
 public:
    void int()
    {m_iposX=0;m_iposY=0;}
  };
  对象初始化:有且仅有一次初始化;根据条件初始化。

构造函数
1:构造函数在对象实例化时被自动调用。
2构造函数与类同名。
3:构造函数没有返回值
4:构造函数可以有多个重载形式
5:实例化对象仅用到一个构造函数
6:当用户没有定义构造函数时,编译器自动生成一个构造函数

无参构造函数

class student
{
public:
   student(){m_strName="jim";}
   private:
   string m_strName;
 };

有参构造函数:

class student
{
public:
   student(string name)//name就是参数
   {m_strName=name;}
   private:
      string m_strName;
   }

重载构造函数:

class student
{
public:
   student(){m_strName="jim";}
   student(string name)
   {m_strName=name;}
  private:
  string m_strName;
  };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值