Chapter 16
1: | Consider the following class declaration:class RQ1 { private: char * st; // points to C-style string public: RQ1() { st = new char [1]; strcpy(st,""); } RQ1(const char * s) {st = new char [strlen(s) + 1]; strcpy(st, s); } RQ1(const RQ1 & rq) {st = new char [strlen(rq.st) + 1]; strcpy(st, rq.st); } ~RQ1() {delete [] st}; RQ & operator=(const RQ & rq); // more stuff }; Convert this to a declaration using a string object instead. What methods no longer need an explicit definition? |
A1: |
#include <string> using namespace std; class RQ1 { private: string st; // a string object public: RQ1() : st("") {} RQ1(const char * s) : st(s) {} ~RQ1() {}; // more stuff }; |
Get C++ Primer Plus, Fourth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.