struct与class唯一不同的是struct默认的关键字是public,class默认的关键字是private
struct也可以有默认构造函数,析构函数,继承等等。
c++代码
#include <iostream>
using namespace std;
struct animal
{
public:
animal():age(1),weight(10){}//构造函数
~animal(){}//析构函数
int getAge()const//加const表示这个函数为常成员函数,常成员函数不能改变成员变量值
{
return age;
}
void setAge(int set_age)//可重新设置年龄
{
age=set_age;
}
int getWeight()const//同上
{
return weight;
}
void setWeight(int set_weight)//同上
{
weight=set_weight;
}
void speak()const//说
{
cout<<"speak!!!"<<endl;
}
void sleep()const//睡觉
{
cout<<"sleep!!!"<<endl;
}
private:
int age;
int weight;
};
struct cat:public animal
{
public:
void type()
{
cout<<"i am a cat"<<endl;
}
};
int main()
{
cat mocha;//猫取名mocha
mocha.type();
mocha.speak();
cout<<"mocha的年龄:"<<mocha.getAge()<<endl;
cout<<"mocha的重量:"<<mocha.getWeight()<<endl;
//重新设置信息
mocha.setAge(2);
mocha.setWeight(20);
mocha.sleep();
cout<<"重新设置mocha的年龄:"<<mocha.getAge()<<endl;
cout<<"重新设置mocha的重量:"<<mocha.getWeight()<<endl;
return 0;
}
运行结果