Примет класса - Строка
#include
<string.h>
class StringHolder {
char
*contens;
public:
StringHolder(char
*aString=0);
~StringHolder(void);
char *getContens(void);
void
setContens(char *aString);
};
StringHolder::StringHolder(char
*aString) {
if(aString) { contens=new char[strlen(aString)+1];
strcpy(contens,aString); }
else {contens=new char[1];
*contens=‘\0’; }
}
StringHolder::~StringHolder(void) {
delete contens; }
char *StringHolder::getContens(void) { return
contens; }
void StringHolder::setContens(char *aString) {
delete
contens;
contens=new char[strlen(aString)+1];
strcpy(contens,aString);
}
void main()
{
StringHolder
str1,str2(“Object2”), *str3, *str4;
str3=new
StringHolder(“object3”);
str4=new StringHolder;
cout <<
str1.getContens(); cout << str2.getContens();
cout <<
str3->getContens(); cout <<
str4->getContens();
}
Упражнения
1.
Предположим Вам
требуется программа на традиционном
языке вроде С. Как бы вы смоделировали
методы и классы?
2. Как
вы думаете., что лучше, иметь ключевое
слово public, protected или
private присоединенное
к каждому объекту (как в Java),
или к области данных (как
в C++).