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实例,当在线人数很多时,将产生大量实例, 如何降 ...
随机推荐
- 51nod 1513 && CF570D
题意:给定一棵树,每个节点有一个字母.给定若干个询问,询问某个子树内某一深度的节点是否能将这些节点组合成一个回文串.(深度是以根节点为基准的,不是当前子树根.)数据规模10^5. 神犇题解 子树问题, ...
- LINQ 学习路程 -- 查询操作 Conversion Operators
Method Description AsEnumerable Returns the input sequence as IEnumerable<t> AsQueryable Conve ...
- linux修改文件所属用户、用户组
修改hive.log文件为hadoop用户,hadoop组 sudo chown 用户名:用户组 文件 sudo chown hadoop:hadoop hive.log 修改某个文件夹及其自文件 s ...
- pyqt5开发之俄罗斯方块
#!/usr/bin/python3 # -*- coding: utf-8 -*- """ ZetCode PyQt5 tutorial This is a Tetri ...
- 深入理解JVM - 晚期(运行期)优化
在部分商用虚拟机中,Java程序最初是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或者代码块的运行特别频繁时,就会把这些代码认定为“热点代码”(Hot Spot Code) ...
- priority_queue用法(转载)
关于priority_queue 1,关于STL中的priority_queue:确定用top()查看顶部元素时,该元素是具有最高优先级的一个元素. 调用pop()删除之后,将促使下一个元素进入该位置 ...
- C 字节对齐.我的算法学习之路
C/C++基础笔试题1.0(字节对齐) http://blog.csdn.net/dengyaolongacmblog/article/details/37559687 我的算法学习之路 http:/ ...
- codeforces 622B B. The Time
B. The Time time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...
- loj515贪心只能过样例
bitset练习题... 位运算真的是玄学... 一开始真的“只能过样例” 后来发现把左移写成了小于号 鬼知道我在想什么/手动微笑 loj第一题 #include<iostream> #i ...
- 【JVM】java棧
java棧和函数调用的关系图 [名词解释]--->java棧是一块线程的私有空间--->java的棧是先进后出的数据结构.函数返回,则该函数的棧帧被弹出.--->一个函数对应一个棧帧 ...