본문 바로가기

카테고리 없음

constructor with pointer

#include "stdafx.h"

#include <iostream>

#include <string>


using namespace std;


class String

{

private:

char *str;

int len;


public:

String();

String(const char *str);


const char *c_str();


//void Release();

};


int main()

{

String str1 = "String";

String str2;


str2 = str1;


cout << str1.c_str() << endl;

cout << str2.c_str() << endl;


//str1.Release();

//str2.Release();


return 0;

}


String::String() 

: str(0), len(0){

str = new char;

*str = 0;

}


String::String(const char *str)

:str(0), len(0)

{

for (len = 0; str[len]; len++);


this->str = new char[len + 1];


for (int i = 0; i < len + 1; i++) {

this->str[i] = str[i];

}

}


const char *String::c_str() { return str; }

/*

void String::Release() {

delete[] str;


return;

}*/