c++从入门到精通——c++继承
2024-10-24 08:34:50 阅读次数:12
C++,代码
c++继承关系
c++
#include <iostream>
using namespace std;
class Animal{
public:
string className;
string name;
int age;
int sex;
void eat(){
std::cout<<"当前在吃饭的是:"<<this->name<<std::endl;
}
void play(){
std::cout<<"当前在玩耍的是:"<<this->name<<std::endl;
}
};
class Tiger:public Animal{
public:
void bark(){
std::cout<<"当前在吼叫的是:"<<this->name<<std::endl;
}
};
int main(){
Animal cat = Animal();
Tiger tiger = Tiger();
= "小猫咪";
cat.age = 1;
cat.eat();
cat.play();
= "泰哥";
tiger.age = 20;
tiger.bark();
tiger.eat();
tiger.play();
return 0;
}
- 基类的重载运算符
- 基类的友元函数
- 继承类型来说
- 公有类型
- 公有类型,保护类型不变,私有类型可以通过方法成员调用
- 私有基类,基类的所有公有和保护成员都成为派生类的私有成员
多继承方式
#include <iostream>
using namespace std;
class Animal{
public:
string className;
string name;
int age;
int sex;
void eat(){
std::cout<<"当前在吃饭的是:"<<this->name<<std::endl;
}
void play(){
std::cout<<"当前在玩耍的是:"<<this->name<<std::endl;
}
private:
int num_kids = 5;
};
class BuRuAnimal{
public:
void setName(){
cout<<"ok"<<endl;
}
};
class Tiger:public BuRuAnimal,virtual public Animal{
public:
void bark(){
std::cout<<"当前在吼叫的是:"<< this->name<<std::endl;
}
};
int main(){
Animal cat = Animal();
Tiger tiger = Tiger();
= "小猫咪";
cat.age = 1;
cat.eat();
cat.play();
= "泰哥";
tiger.age = 20;
tiger.bark();
tiger.eat();
tiger.play();
return 0;
}
版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/u_13859040/5814409,作者:qq5b42bed9cc7e9,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。
上一篇:C++从入门到精通——结构体
下一篇:Java服务端服务容错:Bulb与Sentinel的比较