구성원 함수 와 일반 구성원 함수 의 호출 을 분석 하 다.
class Coordinate{
public:
Coordinate(int x,int y);
void Display() const;
void Display();
private:
int m_iX;
int m_iY;
};
#include <iostream>
#include "Coordinate.h"
using namespace std;
Coordinate::Coordinate(int x, int y){
this->m_iX = x;
this->m_iY = y;
}
void Coordinate::Display() const{
cout << "Display() const" << endl;
}
void Coordinate::Display() {
cout << "Display()" << endl;
}
디 스 플레이()멤버 함수 와 디 스 플레이()const 일반 멤버 함 수 는 서로 다시 불 러 옵 니 다.만약 에 우리 가 아래 와 같이 이 방법 을 호출 하면 어떤 것 을 호출 합 니까?
#include <iostream>
#include "Coordinate.h"
using namespace std;
int main(){
Coordinate coor(1, 3);
coor.Display();
system("pause");
return 0;
}
그럼 프로그램 을 실행 해서 결 과 를 보 겠 습 니 다.프로그램 이 호출 하 는 것 은 const 로 수식 되 지 않 은 구성원 의 함수 입 니 다.display()구성원 함수 와 display()const 일반 구성원 함수 가 서로 다시 불 러 오 는 것 이 라 고 하지 않 았 습 니까?그러면 우 리 는 어떻게 해야만 프로그램 이 const 로 수식 하 는 구성원 함 수 를 호출 할 수 있 습 니까?
사실 간단 합 니 다.성명 할 때 const 를 추가 하면 됩 니 다.
클래스 에 일반 구성원 함수 가 하나 밖 에 없다 면 성명 할 때 const 를 추가 하지 않 아 도 일반 구성원 함 수 를 호출 할 수 있 습 니 다.
class Coordinate{
public:
Coordinate(int x,int y);
void Display() const;
private:
int m_iX;
int m_iY;
};
#include <iostream>
#include "Coordinate.h"
using namespace std;
Coordinate::Coordinate(int x, int y){
this->m_iX = x;
this->m_iY = y;
}
void Coordinate::Display() const{
cout << "Display() const" << endl;
}
#include <iostream>
#include "Coordinate.h"
using namespace std;
int main(){
Coordinate coor(1, 3);
coor.Display();
system("pause");
return 0;
}
이상 의 이 분석 멤버 함수 와 일반 멤버 함수 의 호출 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 여러분 들 이 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C++프로 그래 밍 의 구성원 변수 와 구성원 함수 에 대한 지식주의해 야 할 것 은 클래스 체 외 에서 inline 함 수 를 정의 하려 면 클래스 정의 와 구성원 함수 의 정 의 를 같은 헤더 파일 에 넣 어야 합 니 다(또는 같은 원본 파일 에 쓰 십시오).그렇지 않 으 면...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.