当使用namespace std的时候会出现访问不了私有成员的错误,不使用std便没有错误。奇怪的是之前的程序使用的std也没有错误,不知为何
#ifndef STRING_H_
#define STRING_H_
#include <iostream>
//using namespace std; error C2248: 'str' : cannot access private member declared in class 'Strin'
class Strin
{
private:
char *str; //pointer to string
int nLen; //length of string
static int nStringNumbers; //number of objects
static const int CINLIM;
public:
Strin(char *s); //一般构造器 String str("zhaonan");
Strin(); //默认构造器
Strin(Strin & st); //复制构造器
~Strin(); //析构函数
int nLength(){return nLen;}
//重载操作符
Strin & operator= (Strin & a); //赋值
Strin & operator= (char *c);
char & operator[] (int i);
friend bool operator < (Strin &a, Strin &b);
friend bool operator > (Strin &a, Strin &b); //比较两个字符串的大小
friend bool operator == (Strin &a, Strin &b); //判断两个字符串是否相等
friend std::ostream & operator << (std::ostream & os, Strin & st);//读操作,显示字符串
friend std::istream & operator >> (std::istream & is, Strin & st);//写操作,更新字符串内容
static int HowMany();
};
#endif