❤️C++基础语法
2016-02-19 09:27
555 查看
******************************
※声明一个C++类(C++ 没有根类)
※匈牙利命名法(与OC不一样)
①类名以C打头 例:CPerson
②声明一个成员变量以m打头
_n 是int类型
例:int m_nAge;
_p是指针类型 例:vector<<span
class="s2">int>* m_pVecAdvantage;
_obj说对象类型 例:map<<span
class="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(int
age) {
printf("CPerson::setAge\n");
m_nAge =
age;
}
// 实现一个静态函数
int CPerson::getAverageLife() {
return
70;
}
// 实现一个静态变量
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;
※声明一个C++类(C++ 没有根类)
※匈牙利命名法(与OC不一样)
①类名以C打头 例:CPerson
②声明一个成员变量以m打头
_n 是int类型
例:int m_nAge;
_p是指针类型 例:vector<<span
class="s2">int>* m_pVecAdvantage;
_obj说对象类型 例:map<<span
class="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(int
age) {
printf("CPerson::setAge\n");
m_nAge =
age;
}
// 实现一个静态函数
int CPerson::getAverageLife() {
return
70;
}
// 实现一个静态变量
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;
相关文章推荐
- &#10084;&#65039;C++应用场景
- &#10084;&#65039;C++语言特点:
- utilities——C++常用仿函数
- C++模板学习
- C++ vector
- 判断素数
- C语言实现单链表逆序与逆序输出实例
- 求1+2+3+4+....+100
- 数字按照大小排列
- C++编译器生成的构造函数的总结
- 春节后第一波大优惠来袭!!史上最全最强C语言视频课程(全程字幕 + 习题作业)
- 在C++中如何使用msgpack进行对象的序列化
- 我应该记录一下我不太了解的一些c语言函数
- 几个数中比较找最大的
- 酱油和醋交换位置
- c++接口定义、实现、例题
- 20160206.CCPP体系详解(0016天)
- 20160207.CCPP体系详解(0017天)
- 20160206.CCPP体系详解(0016天)
- 20160207.CCPP体系详解(0017天)