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;
}
C++类和对象的一个简单的实例的更多相关文章
- C语言入门教程: 一个简单的实例
对于学习要保持敬畏! 语言不只是一种工具,还是一种资源,因此,善待它,掌握它! 我们知道,对于未知通常都会充满好奇和畏惧,既想了解它,又害怕神秘面纱隐藏的不确定性.对于一门编程语言同样如此,我将以 ...
- 大话JS面向对象之扩展篇 面向对象与面向过程之间的博弈论(OO Vs 过程)------(一个简单的实例引发的沉思)
一,总体概要 1,笔者浅谈 我是从学习Java编程开始接触OOP(面向对象编程),刚开始使用Java编写程序的时候感觉很别扭(面向对象式编程因为引入了类.对象.实例等概念,非常贴合人类对于世间万物的认 ...
- 原生Ajax用法——一个简单的实例
Ajax全名(Asynchronous(异步) JavaScript and XML )是可以实现局部刷新的 在讲AJax之前我们先用简单的实例说一下同步和异步这个概念 /*异步的概念(就是当领导有一 ...
- 爬虫基础以及一个简单的实例(requests,re)
最近在看爬虫方面的知识,看到崔庆才所著的<Python3网络爬虫开发实战>一书讲的比较系统,果断入手学习.下面根据书中的内容,简单总结一下爬虫的基础知识,并且实际练习一下.详细内容请见:h ...
- Django学习 之 Django安装与一个简单的实例认识
一.Django简介 1.MVC与MTV模型 (1)MVC模型 Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的. ...
- c++类的基本形式(一个简单类的简单sample,命名空间)
有人把类说成是占用固定大小内存块的别名,其定义时不占用空间 #include<iostream> #include<string> using namespace std; c ...
- c++有关构造函数、析构函数和类的组合的一个简单例子
来源链接 实验四(下) 代码 #include <iostream> using namespace std; enum CPU_Rank {P1 = 1, P2, P3, P4, P5, ...
- php 类与对象 面向对象编程 简单例子
<?php class Foo { //类 名称为Foo public $aMemberVar = 'aMemberVar Member Variable'; //类变量 public $aFu ...
- python类与对象-如何为创建大量实例节省内存
如何为创建大量实例节省内存 问题举例 在网络游戏中,定义玩家类Player(id, name, level...), 每个玩家在线将创建一个Player实例,当在线人数很多时,将产生大量实例, 如何降 ...
随机推荐
- Data Structure Array: Maximum of all subarrays of size k
http://www.geeksforgeeks.org/maximum-of-all-subarrays-of-size-k/ #include <iostream> #include ...
- [原创]java WEB学习笔记23:MVC案例完整实践(part 4)---模糊查询的设计与实现
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- sql的执行过程
from ===> where ===> group by ===> select ===>order by 这个执行流程 很重要~~
- 圆方树&广义圆方树[学习笔记]
仙人掌 圆方树是用来解决仙人掌图的问题的,那什么是仙人掌图呢? 如图,不存在边同时属于多个环的无向连通图是一棵仙人掌 圆方树 定义 原先的仙人掌图,通过一些奇妙的方法,可以转化为一棵由圆点,方点和树边 ...
- dedecms 织梦点击图片进入下一页代码
织梦DedeCMS5.6网站文章页点击图片进入下一页最后一页进入下一篇文章的方法: 我们首先按照下面的方法修改: 修改 include/arc.archives.class.php 1.查找“//解析 ...
- Codeforces 163A Substring and Subsequence:dp【子串与子序列匹配】
题目链接:http://codeforces.com/problemset/problem/163/A 题意: 给你两个字符串a,b,问你有多少对"(a的子串,b的子序列)"可以匹 ...
- 解析centos中Apache、php、mysql 默认安装路径
apache:如果采用RPM包安装,安装路径应在 /etc/httpd目录下apache配置文件:/etc/httpd/conf/httpd.confApache模块路径:/usr/sbin/apac ...
- Linux课程---6、别名管理和网络配置(Linux命令如何记)
Linux课程---6.别名管理和网络配置(Linux命令如何记) 一.总结 一句话总结: 理解记忆:因为命令要实现那么多功能,必须有那么多参数,而不同的参数就适用不用的情况 命令基本格式:命令关键字 ...
- 数据结构C语言版干货------->线性表之顺序表
一:头文件定义 /*************************************************************************** *项目 数据结构 *概要 逻辑 ...
- linux命令学习笔记(6):rmdir 命令
今天学习一下linux中命令: rmdir命令.rmdir是常用的命令,该命令的功能是删除空目录,一个目录 被删除之前必须是空的.(注意,rm - r dir命令可代替rmdir,但是有很大危险性.) ...