C++:派生

#include 

// 基类
class Animal {
public:
    void eat() {
        std::cout << "Animal is eating." << std::endl;
    }

    void sleep() {
        std::cout << "Animal is sleeping." << std::endl;
    }
};

// 派生类
class Dog : public Animal {
public:
    void bark() {
        std::cout << "Dog is barking." << std::endl;
    }
};

int main() {
    Dog dog;
    dog.eat();   // 继承自基类
    dog.sleep(); // 继承自基类
    dog.bark();  // 派生类新增的成员函数
    return 0;
}
/*
Animal is eating.
Animal is sleeping.
Dog is barking.
*/
#include 

// 基类
class Animal {
public:
    virtual void makeSound() {
        std::cout << "Animal makes a sound." << std::endl;
    }
};

// 派生类
class Dog : public Animal {
public:
    void makeSound() override {
        std::cout << "Dog barks." << std::endl;
    }
};

int main() {
    Animal *animal = new Dog(); // 基类指针指向派生类对象
    animal->makeSound(); // 调用派生类的 makeSound 函数
    delete animal;
    return 0;
}
// Dog barks.
#include 

// 基类
class Base {
public:
    void print() {
        std::cout << "Base class print function." << std::endl;
    }
};

// 派生类
class Derived : public Base {
public:
    void print() {
        std::cout << "Derived class print function." << std::endl;
        Base::print(); // 调用基类的 print 函数
    }
};

int main() {
    Derived derived;
    derived.print();
    return 0;
}
/*
Derived class print function.
Base class print function.
*/
#include 

// 基类 1
class A {
public:
    void funcA() {
        std::cout << "Function A" << std::endl;
    }
};

// 基类 2
class B {
public:
    void funcB() {
        std::cout << "Function B" << std::endl;
    }
};

// 派生类
class C : public A, public B {
public:
    void funcC() {
        std::cout << "Function C" << std::endl;
    }
};

int main() {
    C c;
    c.funcA(); // 继承自 A
    c.funcB(); // 继承自 B
    c.funcC(); // 派生类新增的成员函数
    return 0;
}
/*
Function A
Function B
Function C
*/

你可能感兴趣的:(C++,c++,java,开发语言)