제2장 유형과 대상 기초

4336 단어

학습 내용

  • 클래스의 정의 파악
  • 대상의 정의와 방법을 파악하고 호출
  • 구조 함수와 분석 함수의 정의와 집행 과정을 숙지
  • 복제 구조 함수와 초기화 목록의 사용 파악
  • 실습 임무

  • 실습 임무 1

  • 글로벌 객체의 라이프 사이클에 유의하십시오.
    #include  
    using namespace std; 
    class TestClass{ 
    public:
        TestClass(int a){ 
            aa=a;
            cout<
     :
    3 Constructed!
    In MainFuction.
    5 Constructed!
    5 Destructed!
    3 Destructed!
    [Finished in 0.3s]
    
  • #include  
    using namespace std; 
    class TestClass{ 
    public:
        TestClass(){ 
            cout<
     :
     Constructed!
     Constructed!
     Destructed!
     Destructed!
    [Finished in 0.3s]
    
  • #include  
    using namespace std; 
    class TestClass{ 
    public:
        TestClass(){ 
            cout<setValue(30); //a->b means (*a).b 
        // (*pt).setValue(30);//try uncomment this one
        cout<
     :
     Constructed!
    10
    20
    30
     Destructed!
    [Finished in 0.3s]
    
  • #include 
    #include 
    using namespace std;
    class Test{
    public:
        Test():a(1){
            cout<a<a=a;
    cout<a<
     :
    1
    3
    10
    [Finished in 0.4s]
    
  • 실습 임무 2

  • 요구 사항: Complex 클래스 작성, 패키지 복수의 기본 기능
    #include 
    #include 
    using namespace std;
    class Complex{
    public:
        Complex(){
            real = 0;
            image = 0;
        }
        Complex(double n){
            real = n;
            image = 0;
        }
        Complex(double n, double d){
            real = n;
            image = d;
        }
        void setValue(double n, double d){
            real = n;
            image = d;
        }
        double getReal(){
            return real;
        }
        double getImage(){
            return image;
        }
        double getDistance(){
            return sqrt(pow(real,2)-pow(image,2));
        }
        void output(){
            if(image == 0 && real != 0){
                cout<
     :
    0
    2
    3+4i
    6+4i
    4.47214
    [Finished in 0.3s]
    
  • 실습 임무 3

  • 요구 사항: Time 클래스를 작성하고 시간에 대한 작업을 봉인하며 Time 클래스는 하루 동안의 시간을 분까지 정확하게 처리합니다.
    #include 
    using namespace std;
    class Time{
    public:
        Time(){
            hour = 0;
            minute = 0;
        }
        Time(int h, int m){
            hour = h;
            minute = m;
        }
        void setTime(int h, int m){
            hour = h;
            minute = m;
        }
        void output(){
            this->normalizeTime();
            cout<
     :
    13:15
    9:5
    t1 Hour:9
    t1 Minute:5
    t1 getTotalMinutes:545
    [Finished in 0.3s]
    
  • 실습 임무 4?

  • 요구 사항: 무작위 클래스를 작성합니다.원하는 구성원 함수를 실현하십시오.
    #include 
    #include 
    using namespace std;
    class RandomNum{
    public:
        RandomNum(unsigned int seed){
            if(seed == 0){
                srand((unsigned int)time(NULL));
            }
            else{
                srand(seed);
            }
        }
        void setSeed(unsigned int seed){
            this->seed = seed;
        }
        int random(){
            return rand();
        }
        int random(int max){
            return rand()%max;
        }
        double frandom(){
            return rand()/(double)RAND_MAX;
        }
    private:
        unsigned int seed;
    };
    int main()
    {
        RandomNum randomGenerator(100);
        int i;
        for(int i=0; i<10; ++i){
            cout<
     :
    0.000782637 0.153779 0.560532 0.865013 0.276724 0.895919 0.704462 0.886472 0.929641 0.46929 
    [Finished in 0.3s]
    
    구체적인 c++ 랜덤수에 대한 내용은 여기 보시면 됩니다.

    좋은 웹페이지 즐겨찾기