3.27 5day
1.指针指针类
//堆区开辟的对象不进行释放 所以我们在栈区开辟一个专门释放堆区对象的指针类 这样当出test时自动结束堆区
//指针运算符重载
class z1
{
public:
z1()
{
printf("开辟空间");
}
void prit()
{
printf("调用了");
}
~z1()
{
printf("释放空间");
}
};
//指针类 释放堆区空间的类
class au
{
public:
au(z1 mu)
{
too = mu;
}
z1 too;
~au()
{
delete(too);
}
z1* operator->()
{
return too;
}
z1& operator*()
{
return *too;
}
};
void test()
{
//指针运算符重载
//堆区开辟的对象不进行释放 所以我们在栈区开辟一个专门释放堆区对象的指针类 这样当出test时自动结束堆区
z1* qz = new z1;
au z(qz);
//指针运算符重载
z->prit();
(*z).prit();
}
2.仿函数
(重载函数调用符号)
class z1
{
public:
void operator() ()
{
printf("仿函数\n");
}
};
void test()
{
z1 uuu;
uuu();
}
优势 1.方便代码维护 2.方便设置权限 3.方便算法策略
3.其他重载入
include
using namespace std;
class z1
{
public:
void operator() ()
{
printf("仿函数\n");
}
int a = 0;
z1(int c)
{
a = c;
}
operator bool()
{
if (a > 0)
{
return false;
}
else
{
return true;
}
}
};
void test()
{
z1 qq(3);
if (qq)
{
printf("默认值小于0\n");
}
else
{
printf("默认值大于0\n");
}
}
int main()
{
test();
}
4.字符串类
继承

1.继承方式
(成员 变量 函数)
公有

私有 继承后全私有

保护

本文来自博客园,作者:逆向狗,转载请注明原文链接:https://www.cnblogs.com/Agtw/p/17259758.html

浙公网安备 33010602011771号