C++类和对象的一个简单的实例

本文介绍了一种使用C++类和对象来解决查找数组中最大值的问题,包括成员函数的内部实现和外部声明两种方式,并通过实例演示了如何在主函数中调用这些成员函数。

题目:找出一个整形数组中的元素的最大值

下面,我们用类和对象的方法来做。

#include<iostream>
using namespace std;
class Array_max{
	private://声明在类的外部不可访问的隐私成员 
		int array[10];
		int max;
	public://声明在类的外部可以访问的开放的成员函数 
	void set_value(){
		int i;
		cout<<"请输入10个整数"<<endl;
		for(i=0;i<10;i++){
			cin>>array[i];		
		}
	};
	void max_value(){
		int i;
		max=array[0];
		for(i=1;i<10;i++){
			if(array[i]>max)
				max=array[i];
		}
	};
	void show_value(){
		cout<<"max is :"<<max<<endl;
	};
};
int main(){
	Array_max array1;
	array1.set_value();//初始化操作
	array1.max_value();//求最大数的操作
	array1.show_value();//输出最大的数 
	return 0;
}



当然,我们还可以将成员函数在类体外进行声明:


#include<iostream>
using namespace std;
class Array_max{
	private://声明在类的外部不可访问的隐私成员 
		int array[10];
		int max;
	public://声明在类的外部可以访问的开放的成员函数 
	void set_value();//声明函数的原型
	void max_value();
	void show_value();
};
void Array_max::set_value(){//::是成员限定符,限定函数属于哪一个类
	int i;
	cout<<"请输入10个整数"<<endl;
	for(i=0;i<10;i++){
		cin>>array[i];		
	}
}
void Array_max::max_value(){
	int i;
		max=array[0];
		for(i=1;i<10;i++){
			if(array[i]>max)
				max=array[i];
		}	
}
void Array_max::show_value(){
	cout<<"max is :"<<max<<endl;	
}
int main(){
	Array_max array1;
	array1.set_value();//初始化操作
	array1.max_value();//求最大数的操作
	array1.show_value();//输出最大的数 
	return 0;
}


在类的外部进行定义函数的时候,需要先在类中,对函数原型进行声明

=============================================================

在实际的应用中,更常用的是将函数的声明单独放到一个文件中。


class_dec.cpp

#include<iostream>
using namespace std;
class Array_max{
	private://声明在类的外部不可访问的隐私成员 
		int array[10];
		int max;
	public://声明在类的外部可以访问的开放的成员函数 
	<span style="white-space:pre">	</span>void set_value();//声明函数的原型
	<span style="white-space:pre">	</span>void max_value();
	<span style="white-space:pre">	</span>void show_value();
};


class_fun.cpp

#include "class_dec.cpp"
void Array_max::set_value(){//::是成员限定符,限定函数属于哪一个类
	int i;
	cout<<"请输入10个整数"<<endl;
	for(i=0;i<10;i++){
		cin>>array[i];		
	}
}
void Array_max::max_value(){
	int i;
	max=array[0];
	for(i=1;i<10;i++){
	   if(array[i]>max)
		max=array[i];
	}	
}
void Array_max::show_value(){
	cout<<"max is :"<<max<<endl;	
}


main.cpp

#include "class_fun.cpp"
int main(){
	Array_max array1;
	array1.set_value();//初始化操作
	array1.max_value();//求最大数的操作
	array1.show_value();//输出最大的数 
	return 0;
}



转载于:https://www.cnblogs.com/zhezh/p/3773403.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值