第十章——创建新的类型

1三种预处理功能:宏(宏代换/宏定义),文件包含,条件编译

#define pi 3.14//带参宏
#define max(a,b) (a>b?a:b)//不带参宏

.h文件格式

#define
#ifndef
//代码
#endif

2.对象的定义
doublearray arr1;//对象

doublearray arr1[20];//对象数组

doublearray *p;
p=new doublearray;//动态对象

doublearray *p;
p=new doublearray[20];//动态对象数组

3.this指针:当通过对象调用成员函数时,编译器会把相应对象的地址传给this指针。成员函数通过this指针就知道要对那个对象进行访问。但是在成员函数中要把对象作为整体来访问时,必须要显式地使用this指针(*this)
友情链接: 点击打开链接
void creat(int n,int d) {num=n;den=d;reductfration();}
void creat(int n,int d) {this->num=n;this->den=d;this->reductfration();} 

4.对象的构造(初始化数据)和析构(归还空间)
构造函数:不用显式调用,系统会在定义对象时自动调用,不能指定返回类型,不带参数的构造函数称为默认构造函数,如果没有定义构造函数,编译器会自动添加一个默认构造函数,定义了则不会,要自己写一份无参的构造函数才行。
doublearray(int n,int d) {num=n;den=d;} //直接赋值
doublearray(int n,int d):num(n),den(d) {}//初始化列表



猜你喜欢

转载自blog.csdn.net/weixin_42183904/article/details/80471967