Извините, если мой заголовок немного вводит в заблуждение, не знаю, как описать проблему, с которой я столкнулся на данный момент.
По сути, мое задание - использовать наследование.
Но моя проблема на данный момент в том, что я не уверен, как вернуть int и строки в одной и той же функции для отображения в другой функции.
Ниже приведен пример, надеюсь, это имеет больше смысла.
Я пытался использовать ссылки, но, очевидно, я делаю это неправильно, так как не могу заставить его работать.
main.cpp:
#include <iostream>
#include "Text.h"
int main(){
Text text1;
text1.SetText("Arial", 12, "Black", "This is a sample text"); //String, int, string, string
text1.PrintText();
return 0;
}
Text.h:
#ifndef TEXT_H
#define TEXT_H
class Text{
public:
Text();
void SetText(std::string font, int size, std::string color, std::string data);
void GetParameters(); /*This is the problem area. I have setText that will set it, but how do I return these values to use in PrintText if it has different variable types?*/
void PrintText();
private:
std::string font;
int size;
std::string color;
std::string data;
};
#endif // TEXT_H
Text.cpp:
#include <iostream>
#include "Text.h"
Text::Text(){
}
void Text::SetText(std::string font, int size, std::string color, std::string data){
font = font;
size = size;
color = color;
data = data;
}
void Text::GetParameters (){//Any pointers in this would be much appreciated.
}
void Text::PrintText(){
cout <<"Text parameters are: " <<GetParameters() <<endl;//this is where Im trying to simply display the font, size, color and data values.
}
Извините, если это немного длинно, я не был уверен, сколько нужно включить, чтобы правильно проиллюстрировать проблему, с которой я столкнулся.
Результат, которого я пытаюсь достичь, очень простой:
Text parameters are:
Font = Arial
Size = 12
Color = Black
Data = This is a sample text
Стоит отметить, что я не могу использовать структуры в этом назначении.