C++ 类和面向对象编程

创建一个类

#include <iostream>
#include <string>
class Dog{
    std::string name;
    int weight;

public:
    Dog();
    void setName(const std::string& dogsName);
    void setWeight(int dogsWeight);
    virtual void print() const;
    void bark() const {std::cout<<name<<" barks\n";}
    virtual ~Dog();
};

Dog::Dog()
{
    std::cout<<"A dog has been constructed\n";
}
void Dog::setName(const std::string &dogsName) {
    name=dogsName;
}

void Dog::setWeight(int dogsWeight) {
    weight=dogsWeight;
}

void Dog::print() const {
    std::cout<<"Dog is "<<name<<" and weights "<<weight<<"kg\n";
}

Dog::~Dog()
{
    std::cout<<"Goodbye "<<name<<"\n";
}

int main(){
    Dog myDog;
    myDog.setName("Barkley");
    myDog.setWeight(10);
    myDog.print();
    return 0;
}

output:
A dog has been constructed
Dog is Barkley and weights 10kg
Goodbye Barkley

继承


// 继承
class OwnedDog : public Dog{
public:
    void setOwner(const std::string& dogsOwner);
    void print() const override;

private:
    std::string owner;
};
void OwnedDog::setOwner(const std::string &dogsOwner) {
    owner=dogsOwner;
}
void OwnedDog::print() const {
    std::cout<<"Dog is owned by "<<owner<<"\n";
    Dog::print();
}

int main(){
    OwnedDog herdog;
    herdog.setOwner("White");
    herdog.setName("lucy");
    herdog.setWeight(20);
    herdog.print();
    return 0;
}

output:
A dog has been constructed
Dog is owned by White
Dog is lucy and weights 20kg
Goodbye lucy

参考:
learn C++ in y minutes

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值