C/C++ class MyString{private:char *str_;char *MemAlloc(char *str);public:MyString(char *str="");};char* MyString::MemAlloc(char* str){char* tmp = new char[strlen(str)+1];memset(tmp,0,strlen(str)+1);strcpy(tmp,str);return tmp;}MyString::Mystring(char

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 02:27:58
C/C++ class MyString{private:char *str_;char *MemAlloc(char *str);public:MyString(char *str=

C/C++ class MyString{private:char *str_;char *MemAlloc(char *str);public:MyString(char *str="");};char* MyString::MemAlloc(char* str){char* tmp = new char[strlen(str)+1];memset(tmp,0,strlen(str)+1);strcpy(tmp,str);return tmp;}MyString::Mystring(char
C/C++
class MyString
{
private:
char *str_;
char *MemAlloc(char *str);
public:
MyString(char *str="");
};
char* MyString::MemAlloc(char* str)
{
char* tmp = new char[strlen(str)+1];
memset(tmp,0,strlen(str)+1);
strcpy(tmp,str);
return tmp;
}
MyString::Mystring(char *str)
{
str_ = MenAlloc(str);
}
请问这里的为什么把char *MemAlloc(char *str);设为私有的?

C/C++ class MyString{private:char *str_;char *MemAlloc(char *str);public:MyString(char *str="");};char* MyString::MemAlloc(char* str){char* tmp = new char[strlen(str)+1];memset(tmp,0,strlen(str)+1);strcpy(tmp,str);return tmp;}MyString::Mystring(char
其实但从你给的代码来看设不设为私有都不是有很大的问题,主要是看你这个函数在程序中的功能具体是什么,比如说在一些复杂的大程序里面,为了不让其他的函数调用一些在我不想让其他人修改的数据的话,就需要这么做,这么做的目的也只是保护我的数据不被肆意的篡改而已
希望能给你点帮助,祝你顺利解决问题