220725~
int a=3; //전역변수
int main()
{
int a=10; //지역변수
a=a+10;
std::cout<<a<<","<<std::endl; //지역변수 a,20
::a=::a+3; //전역변수 a,6
std::cout<<::a<<std::endl;
return 0;
}
함수 선언이나 정의 앞에 inline이라는 키워드를 사용하여 매크로 함수의 부작용을 없애면서 같은 기능을 수행
**결과는 동일함 **
//20.ver1
class Dog{
private:
int age;
public:
int getAge();
void setAge(int a);
};
int Dog::getAge(){
return age;
}
void Dog::setAge(int a){
age = a;
}
int main()
{
Dog happy; // Dog class의 happy객체 정의
happy.setAge(3); //age는 private멤버로 클래스 밖에서 접근 불가
std::cout << happy.getAge() << std::endl; //age는 전용멤버로 접근 불가
return 0;
}
//20.ver2 (속도는 ver2가 더 빠름)
class Dog{
private:
int age;
public:
int getAge(){
return age;
}
void setAge(int a){
age=a;
}
};
int main()
{
Dog happy;
happy.setAge(3);
std::cout << happy.getAge() << std::endl;
return 0;
}
task). 클래스 선언하고 객체 정의 후 이름, 나이 ,몸무게 출력하기
멤버함수는 두가지 방법 (클래스 내부, 외부 각각 작성)
// kim.setAge(20); cout<<kim.getAge();
using namespace std; // string 할 때는 필수
//string 은 std 객체라서 앞에 다 std:: 를 해주는것이 좋다.
class Person{
private:
int age;
string name;
double weight;
public:
int getAge(){
return age;
}
void setAge(int a){
age=a;
}
string getName(){
return name;
}
void setName(string n){
name=n;
}
int getWeight(){
return weight;
}
void setWeight(double c){
weight=c;
}
};
int main()
{
Person Kim;
Kim.setAge(20);
Kim.setName("Kim");
Kim.setWeight(70.5);
std::cout << Kim.getAge() << std::endl;
std::cout << Kim.getName() << std::endl;
std::cout << Kim.getWeight() << std::endl;
return 0;
}
결과는 20, Kim, 70.5