C++本类可以访问本身类的私有成员(即拷贝构造函数可以访问本身对象的私有成员)

来源:互联网 发布:mac磁盘工具 编辑:程序博客网 时间:2024/04/26 06:25
#include <iostream>#include <string>using namespace std;class String{public:String(const char *str=NULL);String(const String &another);~String();String& operator=(const String& rhs);private:char* m_data;};String::String(const char *str){if(str==NULL){m_data=new char(0);*m_data='\0';}else{m_data=new char[strlen(str)+1];strcpy(m_data,str);}}String::String(const String &another){m_data=new char[strlen(another.m_data)+1];//这里是可以直接访问类的私有成员的strcpy(m_data,another.m_data);}String::~String(){delete[] m_data;}int main(){String s("12");//cout<<s.m_data<<endl;String test=s;//cout<<test.m_data<<endl;return 0;}

0 0