|
아.. 죄송합니다.
Car c;의 오타입니다.
지금 컴파일 해보니.. 아래와 같은 경우 에러가 나지 않습니다.
Car c("dkfjk","dkfjks",40);
Car *c = new Car("dkfj","dkfjk",39);
그런데..
Car::Car (char *p="드래곤",char *q="버스",int x=50)
이게 가능한건지는 모르겠군요..ㅡㅡ
빌더에서 property의 경우는 default라는 게 있어..
값이 없을 경우 지정을 해줄 수 있습니다.
그런데 C++에선 아무런 의미가 없는걸로 생각되는군요..
±è°æ·¡ 님이 쓰신 글 :
: 조준회 님이 쓰신 글 :
: :
: : 생성자의 의미가 무엇이지요?.
: :
: : 어떤 객체가 생성될때 호출되는 것인데..
: :
: : 그런데 Char c;로 선언을 하게 되면..
: : 생성자 하고의 관계가 애매해 지죠?.
: :
: :
: : 김경래 님이 쓰신 글 :
: : : main함수에서 Car c;여기를 가르키면서 에러가 났다고 되어있는데..
: : : 저는 이유를 잘모르겠습니다.
: : : 고수님들 부탁드립니다.
: : : 그럼 즐거운하루되세요
: : :
: : : #include <stdio.h>
: : : #include <string.h>
: : :
: : : class Car {
: : : char name[20];
: : : char type[20];
: : : int capacity;
: : : public:
: : : Car(char *p,char *q,int x);
: : : void print()
: : : {
: : : printf("차 종: %s \n",name);
: : : printf("차의 타입: %s\n",type);
: : : printf("정원: %d\n",capacity);
: : : }
: : : };
: : : Car ::Car (char *p="드래곤",char *q="버스",int x=50)
: : : {
: : : strcpy(name,p);
: : : strcpy(type,q);
: : : capacity=x;
: : : }
: : : int main(void)
: : : {
: : : Car c;
: : : c.print ();
: : : return 0;
: : : }
|