类 && 对象

这篇博客介绍了C++中的类和对象,详细讲解了访问修饰符(public, private, protected)的使用,以及友元函数的概念和作用。通过示例展示了如何设置和访问类的成员变量,包括派生类对基类保护成员的访问。此外,还探讨了类的继承特性。
摘要由CSDN通过智能技术生成
#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;
} 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值