C++语法 第四篇 自定义类型
我需要一个类型,它既有一个存放int的地方,也有一个存放bool的地方。
这时候需要用到结构体语法。
struct IB//类型名 { int n; //内容 bool b; };
这种类型叫做结构,用struct关键字创建
语法:
struct 结构名 { 基础数据类型 变量名; }
声明:
IB ib;
赋值:
ib={10,true};
调用:
int na; bool nb; IB ib = {1,true}; na = ib.a; nb = ib.b;
我们再次提出新要求,我需要一个有内置方法(处理器),有若干属性(储存器)的类型。可以吗?
事实上,+-*/对于基础数值类型来说,就是他们的处理器。
对于自定义类型来说,这种类型,叫做类,也叫对象。
创建类用class关键字。
class A //声明部分 { int a; int add(int n, int m); } int A::add(int n,int m) //完成所声明的方法体 { return n+m; }
一般情况下,我们需要对class的属性进行初始化,在不许要A的情况下,也要把A相关的资源从内存释放。
所以一个class有以下格式
class A //声明部分 { A(); //初始化函数 ~A(); //销毁函数 int a; int add(int n, int m); } int A::add(int n,int m) //完成所声明的方法体 { return n+m; } A::A() { a=10;//初始化属性 } A::~A() { //这里没有需要释放的内容 }
声明:
A MA;
调用:
int n; int a,b,c; a=10; b=20; n = MA.a; //调用属性 c = MA.add(a,b); //调用方法