• c++ 子类调用父类构造方法 调用父类方法 类声明与实现分离


    Person.h

    #pragma once
    #include "stdafx.h"
    #include<iostream>
    class Person {
    private:
        std::string name;
        int age;
    public:
        void sayHello();
        Person(std::string name, int age);
    };

    Person.cpp

    #include "stdafx.h"
    #include<iostream>
    #include "Person.h"
    #include <string>
    Person::Person(std::string name, int age)
    {
        this->name = name;
        this->age = age;
    }
    void Person::sayHello() {
        std::cout << "hell my name is: " << this->name << std::endl;
    }

    Male.h

    #pragma once
    #include"Person.h"
    #include<string>
    class Male:Person {
    private :
        std::string gender;
    public:
        Male::Male(std::string gender, std::string name, int age) ;
        void sayHello();
    };

    Male.cpp

    #include "stdafx.h"
    #include"Male.h"
    #include<iostream>
    #include<string>
    
    Male::Male(std::string gender, std::string name, int age) :Person(name, age)
    {
        this->gender = gender;
    }
    void Male::sayHello(){
        Person::sayHello();
        std::cout << "hell my gender is: " << this->gender << std::endl;
    }

     ConsoleApplication1.cpp

    // ConsoleApplication1.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    #include <iostream>
    #include <math.h>
    #include <string>
    #include "Person.h"
    #include "Male.h"
    int main()
    {
        using namespace std;
        
        Person* person = new Person("martin", 18);
        person->sayHello();
    
        Male* male = new Male("male","wangdada", 26);
        male->sayHello();
    
        cin.get();
        return 0;
    }

    运行结果

  • 相关阅读:
    Java
    一个web项目web.xml的配置中<context-param>配置作用
    JVM之几种垃圾收集器简单介绍
    JVM日志和参数的理解
    Java GC日志查看
    Java-性能调优-理解GC日志
    理解Java的GC日志
    tomcat打印GC日志
    快速解读GC日志
    Java 堆内存
  • 原文地址:https://www.cnblogs.com/heben/p/5458559.html
Copyright © 2020-2023  润新知