C++复习(1)对象,友元函数,静态成员与静态函数

本文介绍了C++中的面向对象特性,包括类与对象的概念,构造与析构函数的使用,如何创建和访问成员。重点讲解了友元函数和静态成员,包括静态成员变量的声明、初始化与访问,以及静态成员函数的运用。通过实例展示了友元函数用于计算两点间距离和旅馆顾客统计的应用,强调了静态成员在统计总数和总额上的作用。
摘要由CSDN通过智能技术生成

前言

快开学了要复习了。今天来复习c++基本的一些特性

类与对象

c++是面向对象的语言。类拥有属性和方法,用来描述抽象事物,而对象则是活生生的实例。

类的定义

通过class关键字可以定义一个类

class Cow
{
   
private:
	int age;
protected:
	double weight;
public:
	bool isMale;
};

一个类具有public protected 和 private 三种类型的成员。成员可以是变量或者函数。下面给出三种成员的访问控制表

修饰 访问规则
public 任何情况均可访问
protected 该对象及其继承者可访问
private 仅该对象自己可访问

构造与析构

构造函数和析构函数是两种特殊的函数,用于在对象创建时,传入初始化参数,或者是在对象销毁时,删除对象占用的某些空间(当然得自己编码实现)。

构造函数无返回值,名字和类名相同,可以如下形式声明构造函数。

class Cat
{
   
public:
	Cat(){
   }
};

析构函数则是在构造函数函数名前面加上 ~符号

class Cat
{
   
public:
	Cat(){
   }
	~Cat(){
   }
};

构造函数如同任何函数一样,支持重载,即不同的初始化方式。

class Cat
{
   
private:
	int age;
public:
	Cat(){
   }
	Cat(int Age){
   age=Age;}
	~Cat(){
   }
};

值得注意的是,任何时候,良好的习惯,都最好准备无参数的构造函数

创建与访问成员

通过调用类的构造函数,可以创建实例化的对象。多个构造函数,只需要调用一个即可。

class Cat
{
   
private:
	int age;
public:
	Cat(){
   }
	Cat(int Age){
   age=Age;}
	~Cat(){
   }
};

int main()
{
   
	Cat mycat1(123);		// 创建对象1
	Cat mycat2 = Cat(123);	// 创建对象2
	Cat mycat3;				// 创建对象3

	return 0;
}

值得注意的是,如果直接创建变量,即 Cat mycat,那么会调用无参的构造函数

通过 对象变量.成员名称 的方式可以访问对象的成员,比如我们取出 mycat1 对象的 age 属性,并且赋值给temp变量:

int temp = mycat1.age;

友元函数

上文提到,外部程序只能访问public的成员,如果访问私有成员,则会编译报错。友元函数提供了一种外部函数访问类的私有变量的方式。

友元函数相当于白名单,友元函数内

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值