1.const有什么用途
1.进行类型检查
2.保护被修饰的东西,增强代码的健壮性
2.为什么要加extern "c"
1.被修饰的目标是extern的,其声明的函数可以在本模块或者其他模块中使用
2.其修饰的变量和函数是按照c语言方式编译和链接的
3.请填写BOOL,float,指针变量与0值的比较
1.bool
if(flag) if(flag==true) d
if(!flag)
2.float
const float EPSINON = 0.00001;
if(x>=-EPSINON)&&(x<=EPSINON)
3.指针变量
if(p==NULL)
if(p!=NULL)
4.编写string的构造函数,析构函数,赋值函数
#include <iostream>
using namepace std;
class string {
public:
string(const char *str =NULL);
string(const string &other);
~string(void);
string&operator=(const char &other);
private:
char *m_string;
}
string::~string(void)
{
if(m_string!=NULL)
{
delete m_string;
m_string =NULL;
}
}
string::string(const char *str)
{
if(m_string==NULL)
{
m_string=new char[1];
*m_string ='\0';
}
else
{
m_string =new char[strlen(str)+1];
strcpy(m_string,str);
}
}
string::string(const String &other)
{
if(this==&other)
{
return *this;
}
else
{
delete m_string;
m_string =new char[strlen(other.m_string)+1];
strcpy(m_string,other.m_string);
return *this;
}
}