だから私は理解しようとしている継承でこの問題を見つけました。これが必要なものです:
文字列に関する情報を提供する strMetric というクラスを作成します。既定のコンストラクターと、文字列を引数として受け取るオーバーロードされたコンストラクターを提供する必要があります。
文字列メトリック クラスには、次の機能が必要です。
文字列の長さを返す howLong というメソッド
文字列の母音の数を返す vowelCnt というメソッド
文字列内のすべての文字の合計を返す charSum というメソッド
大文字の数を返す upperCase というメソッド
小文字の数を返す lowerCase というメソッド
strMetric クラスを派生クラスとして使用し、文字列クラスを基本クラスとして使用します。
ノート:
独自の文字列クラスを作成して派生させないでください。std 名前空間の一部であり、で定義されている文字列クラスを使用します。
私はこれを解決してきましたが、これが私が持っているものです(現在、これを適切に行う方法がわかるまで、1つの方法にしか取り組んでいません)
//// strmetric.h ////
#ifndef STRMETRIC
#define STRMETRIC
#include <string>
using namespace std;
class strMetric : public string
{
private:
public:
strMetric();
strMetric(string &s);
int howLong(string s);
};
#endif
//// strmetric.cpp ////
#include "strmetric.h"
strMetric::strMetric()
:string()
{
}
strMetric::strMetric(string &s)
:string(s)
{
}
int strMetric::howLong(string s)
{
return s.size();
}
/////main.cpp////
#include <iostream>
#include "strmetric.h"
strMetric testRun("Hello There");
int main()
{
cout << "Here is the sentence being tested " << endl;
cout << endl;
cout << testRun << endl;
cout << endl;
cout << "String length " << endl;
cout << endl;
cout << testRun.length(testRun) << endl;
cout << endl;
}
それで、私はこれを正しく行っていますか、それともベースから外れていますか? 私はこれを理解するのに苦労しています。私がそれを間違ってやっているなら、誰かがそれを正しく行う方法を教えてくれるかもしれません.私はすべてを必要としません.私が始めた1つの部分だけが必要です.