❤️C++基础语法

来源:互联网 发布:java编程什么系统好 编辑:程序博客网 时间:2024/06/08 04:36

******************************

※声明一个C++类(C++ 没有根类)

※匈牙利命名法(与OC不一样)

①类名以C打头   例:CPerson

②声明一个成员变量以m打头

_n 是int类型 例:int m_nAge;

_p是指针类型  例:vector<<spanclass="s2">int>* m_pVecAdvantage;

_obj说对象类型  例:map<<spanclass="s2">int, int>m_objMapTarget;


※成员方法与成员函数都有三个访问权限  默认是私有

※声明一个成员函数 在{}里,与OC是不一样的

class CPerson {

//成员变量

//成员方法

public:

// 声明一个成员变量

       int m_nPublicForPerson;

// 声明一个成员函数

       //virtual修饰成员函数,表示该函数是虚函数

       virtual void setAge(int nAge);

       

       // 声明一个静态函数

       static int getAverageLife();

       

       // 声明一个静态变量

 

       static int s_nAverageLife;

protected:

       int m_nProtectedForPerson;

private:

       int m_nPrivateForPerson;

}



*****************************************

※函数实现是一样的 方法的实现要在cpp文件中 

※静态变量声明完要在cpp文件中进行实现

构造函数  没有返回值 new的时候调用

默认的构造函数没有参数 也可以声明带参数的构造函数

在构造函数中进行初始化工作

※析构函数~ delete的时候调用

/ 实现一个成员函数

void CPerson::setAge(intage) {

   printf("CPerson::setAge\n");

    

    m_nAge =age;

}


// 实现一个静态函数

int CPerson::getAverageLife() {

    return70;

}


// 实现一个静态变量

int CPerson::s_nAverageLife = 70;


// 实现构造函数

CPerson::CPerson() {

   m_nPublicForPerson = 0;

    m_nAge =25;

}


// 实现带参数的构造函数

CPerson::CPerson(int nPublicForPerson,int nAge) {

   m_nPublicForPerson = nPublicForPerson;

    m_nAge =nAge;

}


// 实现析构函数

CPerson::~CPerson() {

//    delete m_p...

}

************************************

实例化一个类用new,销毁一个类用delete

※C++不提供引用计数机制  所以在初始化方法中new的对象 要在析构方法中 delete  不然会内存泄露

※对象的指针方法访问用  对象->方法  

※静态方法访问用  类名::方法

※对象访问用点 .

 // 创建一个Genius对象

    CGenius*pGenius = new CGenius();

 

// 成员函数的调用

pGenius->setAge(0);指针访问

m_objMapTarget.at(nKey); 点访问

// 静态函数的调用

   int nAverageLife =CPerson::getAverageLife();

  // 销毁一个对象

 

   delete pGenius;



 


0 0
原创粉丝点击