now the non-const String::operator[] returns a Char class instead of a
primitive
This commit is contained in:
5
String.h
5
String.h
@ -1,6 +1,8 @@
|
||||
#pragma once
|
||||
#include <iostream>
|
||||
#include "StringValue.h"
|
||||
#include "Char.h"
|
||||
class Char;
|
||||
|
||||
|
||||
|
||||
@ -30,12 +32,13 @@ public:
|
||||
String& operator+=(char);
|
||||
bool operator==(const String&) const;
|
||||
const char& operator[](size_t) const;
|
||||
char& operator[](size_t);
|
||||
Char operator[](size_t);
|
||||
|
||||
size_t size() const; // does not include null-terminator
|
||||
const char* c_str() const;
|
||||
|
||||
friend std::istream& operator>>(std::istream&, String&);
|
||||
friend class Char;
|
||||
};
|
||||
|
||||
std::ostream& operator<<(std::ostream&, const String&);
|
Reference in New Issue
Block a user