[c++ 5. 클래스와 함수]

·2022년 7월 25일
0

C++_Study

목록 보기
10/25

220725~

#5-9. 멤버함수 클래스 밖에서 정의

  • 범위 지정 연산자 '::'
    멤버함수가 어느 클래스에 포함되어 있는지를 나타낼 때
    함수 안에서 전역변수를 접근할 때
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;

}

#5-10. inline 함수

함수 선언이나 정의 앞에 inline이라는 키워드를 사용하여 매크로 함수의 부작용을 없애면서 같은 기능을 수행

#5-11. 객체와 멤버 호출

**결과는 동일함 **

//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
profile
Hakuna Matata

0개의 댓글

관련 채용 정보