class Dog{
private:
int age;
public:
// 생성자도 함수다. 생성자 오버로딩 (중첩)
Dog() {age=1;} // 매개변수가 없고 무조건 나이는 1
Dog(int a){age=a;} // 매개변수가 하나 받아서 매개변수를 통해 반환
~Dog();
int getAge();
void setAge(int a);
};
Dog::~Dog()
{
std::cout << "소멸" << std::endl;
}
int Dog::getAge()
{
return age;
}
void Dog::setAge(int a)
{
age=a;
}
int main()
{
// Dog happy(5): 매개변수가 있는 생성자 호출, 5가 매개변수 a로 넘어간다.
// meri: 매개변수가 없는 생성자 호출
Dog happy(5), meri;
std::cout << happy.getAge() << "," << meri.getAge();
return 0;
}
[함수선언]
int add(int i=1, int j=2) // 형식 매개변수 (디폴트 인자값!)
{
return (i+j);
}
int main()
{
std::cout << add() << ","; //실매개변수 없음, 3
std::cout << add(10) << ","; //실매개변수 한개, 12
std::cout << add(10,20) << ","; //실매개변수 두개, 30
return 0;
}
#1.
int Gop(int i, int j, int k=1, int l=1)
{
return(i*j*k*l);
}
int main()
{
std::cout << Gop(1,2) << std::endl;
std::cout << Gop(1,2,3) << std::endl;
std::cout << Gop(1,2,3,4) << std::endl;
return 0;
}
#2.
int Hap(int i, int j, int k=0, int l=0)
{
return(i+j+k+l);
}
int main()
{
std::cout << Hap(1,2) << std::endl;
std::cout << Hap(1,2,3) << std::endl;
std::cout << Hap(1,2,3,4) << std::endl;
return 0;
}