1.问题1:析构函数乱码问题
【样例输入】
-3 1 3 -1
-3 2
3 -2
【样例输出】
gouzao 1 -3 1 3 -1
gouzao 2 -3 2 3 -2
-3 1 3 -1
-3 2 3 -2
9.4245
18.849
Ellipse xigou 3 -2
Point xigou 3 -2
Point xigou -3 2
Point xigou 3 -2
Point xigou -3 2
Ellipse xigou 3 -1
Point xigou 3 -1
Point xigou -3 1
2.问题描述:当执行析构函数的时候出现乱码
乱码原因:析构函数释放的空间不存在
一般造成原因:进行指针操作时没有进行深拷贝,导致析构函数执行两次
特殊造成原因:数据没有传到对象里面
特殊原因解决方法:检查在实现析构函数的地方是否进行类的构造操作,还是直接对传入变量进行操作。
1.对变量直接操作:GOOD(int a,int b,int c,int d)
{e=a;
f=b;
g=c;
h=d;
}
2.建立对象然后操作
GOOD(int a,int b,int c,int d)
{POINT(a,b);
POINT(c,d);
}
2.const char*与char *类型变量不匹配,当我们需要给私有数据成员赋初值的时候,在给相关字符串的时候很可能会报错,笔者提供一下解决方法。
1.编译器调试:当个人操作而非代码提交时采用
将符合模式改为否就可以操作了
2.改正错误:可以在构造函数中将字符串内容先赋给一个变量,然后将变量赋给私有数据成员,使用strcpy函数头文件<string,h>
3.static变量的巧用:通过函数执行的次数打印不同的语句,并在相关位置实现打印,可以用来做题。