0

This is correct?

class SearchString : public NString {

  DataForSearchInString dataForSearchInString;

public:
    SearchString():NString(){}
    SearchString(const char * data):NString(data){}
    SearchString(const SearchString & other) : NString(other), dataForSearchInString() {}

    SearchString& operator=(const SearchString& other)
    {
        NString::operator=(other);
        dataForSearchInString.setBegin(other.getBegin());
        return *this;
    }

    // if will be classes - children or there any virtual function then need to write "virtual ~SearchString() {}"  here 

    //  Some functions 
    inline const int getBegin() const {return dataForSearchInString.getBegin();} 
};
Ansgar Wiechers
  • 193,178
  • 25
  • 254
  • 328

1 Answers1

0

It seems OK, but I think you forget DataForSearchInString(other.dataForSearchInString)

class SearchString : public NString {

    DataForSearchInString dataForSearchInString;

public:
    SearchString():NString(){}
    SearchString(const char * data):NString(data){}
    SearchString(const SearchString & other) : 
                            NString(other),
                            DataForSearchInString(other.dataForSearchInString) {}
                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    SearchString& operator=(const SearchString& other)
    {
        NString::operator=(other);
        dataForSearchInString.setBegin(other.getBegin());
        return *this;
    }
};
masoud
  • 55,379
  • 16
  • 141
  • 208