#include<bits/stdc++.h>
using namespace std;
//类内如果不声明访问修饰符,默认为private
class Box //类名
{
public: //访问修饰符:private/public/protected
double length; //盒子的长度
double height; //盒子的高度
double get(void){ //定义类成员函数
return length*breadth*height;
}
double get_2(void);
void setbreadth(double bth);
friend void PrintBreadth(Box box1); //友元函数
private:
double breadth; //盒子的宽度
protected:
double width;
};
void PrintBreadth(Box box1){
// 因为 printWidth() 是 Box 的友元,它可以直接访问该类的任何成员
cout<<"breadth of box1:"<<box1.breadth<<endl;
}
class SmallBox:Box
{
public:
void setWidth(double wid){
width=wid; //派生类可以访问基类的protect成员
}
double getWidth(void){
return width;
}
};
double Box::get_2(void){ //在C++中,类成员函数可以定义在类外
return length*breadth*height;
}
void Box::setbreadth(double bth){
breadth=bth;
}
int main(){
Box box1; //定义对象box1
box1.height=1.3;
/*
由于 breadth为私有成员,所以必须使用'友元函数'或类内访问
不能被派生类访问
*/
box1.setbreadth(1.5);
box1.length=2.3;
cout<<box1.get()<<endl; //调用该对象的成员函数
cout<<box1.get_2()<<endl;
//基类的私有成员不能在类外访问
SmallBox Sbox;
Sbox.setWidth(5.3);
cout<<Sbox.getWidth()<<endl;
PrintBreadth(box1);
return 0;
}
类 && 对象
最新推荐文章于 2024-10-17 15:47:06 发布
这篇博客介绍了C++中的类和对象,详细讲解了访问修饰符(public, private, protected)的使用,以及友元函数的概念和作用。通过示例展示了如何设置和访问类的成员变量,包括派生类对基类保护成员的访问。此外,还探讨了类的继承特性。
摘要由CSDN通过智能技术生成