클래스와 대상 해부(허함수)
1588 단어 클래스 및 객체
#include <iostream>
using namespace std;
class ClassA
{
public:
int m_data1;
int m_data2;
void func1(){}
void func2(){}
virtual void vfunc1(){}
virtual void vfunc2(){}
};
class ClassB : public ClassA
{
public:
int m_data3;
void func2(){}
virtual void vfunc1(){}
};
class ClassC : public ClassB
{
public:
int m_data1;
int m_data4;
void func2(){}
virtual void vfunc1(){}
};
void main()
{
cout<<sizeof(ClassA)<<endl;
cout<<sizeof(ClassB)<<endl;
cout<<sizeof(ClassC)<<endl<<endl;
ClassA a;
ClassB b;
ClassC c;
b.m_data1 = 1;
b.m_data2 = 2;
b.m_data3 = 3;
c.m_data1 = 11;
c.m_data2 = 22;
c.m_data3 = 33;
c.m_data4 = 44;
c.ClassA::m_data1 = 111;
cout<<b.m_data1<<endl;
cout<<b.m_data2<<endl;
cout<<b.m_data3<<endl<<endl;
cout<<c.m_data1<<endl;
cout<<c.m_data2<<endl;
cout<<c.m_data3<<endl;
cout<<c.m_data4<<endl;
cout<<c.ClassA::m_data1<<endl<<endl;
cout<<&b<<endl;
cout<<&b.m_data1<<endl;
cout<<&b.m_data2<<endl;
cout<<&b.m_data3<<endl<<endl;
cout<<&c<<endl;
cout<<&c.ClassA::m_data1<<endl;
cout<<&c.m_data1<<endl;
cout<<&c.m_data2<<endl;
cout<<&c.m_data3<<endl;
cout<<&c.m_data4<<endl<<endl;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java 대상 및 인용이때veh1에 저장된 주소는Vehicle 대상의 주소입니다.이 문장은 두 부분으로 나누어 쓸 수 있다: Vehicle veh1;veh1 = new Vehicle(); 이렇게 보면 하나는 대상 인용 변수이고 다른 하나...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.