C++学习记录-面向对象:class

1.创建一个类(在全局区创建)

​ class 类名{

​ 访问权限:

​ 属性

​ 访问权限:

​ 方法

​ }

​ 方法也可以在类内声明,类外定义 语法:返回值类型 类名::函数名(参数){} (访问权限不影响类外实现)

示例:

1
2
3
4
5
6
7
8
9
10
11
12
class character{
public:
string name;
string weapon;//定义类的属性

public:
void printinfo(){
cout<<name<<" "<<weapon<<endl;
}//定义类的方法
}
//方法也可以在类内声明,类外定义
void p::printinfo(){}

class和struct的区别是默认访问权限不同。class默认为private,struct默认为public

2.创建一个对象——类的具体化

语法:

1.类名 对象名,会在栈区创建对象。

2.类名 *对象名=new 类名,这种方法创建的对象会赋值给类指针,会在堆区创建变量。

注:

第一种创建方式,使用完后不需要手动释放,该类析构函数会自动执行。

而new申请的对象,则只有调用到delete时再会执行析构函数,如果程序退出而没有执行delete则会造成内存泄漏。

示例

1
2
3
character sllh;//在栈区创建

character *sllh=new character;//在堆区创建,记得delete