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实例,当在线人数很多时,将产生大量实例, 如何降 ...
随机推荐
- Docker alpine 设置东八时区
FROM alpine:3.8 RUN echo 'http://mirrors.ustc.edu.cn/alpine/v3.5/main' > /etc/apk/repositories &a ...
- Recovery模式【转】
本文转载自:http://tieba.baidu.com/p/2299027486 Recovery模式是手机系统的一个工程模式,作用是恢复和清除.用户进入这个模式之后,可以对当前系统的一些数据进行清 ...
- 【转】RMQ-ST算法详解
地址:http://blog.csdn.net/z287438743z/article/details/8132806 RMQ(Range Minimum/Maximum Query)问题就是求区间最 ...
- SparkRDD内核
Spark内核 RDD是基础,是spark中一个基础的抽象,是不可变的,比如我们加载进的数据RDD,如果想更改其中的内容是不允许的:分区的集合,可以并行来计算:RDD类中包含了很多基础的操作,例如ma ...
- MapReduce修改输出的文件名
MapReduce默认输出的文件名称格式如下:part-r-00000 自定义名称,比如editName,则输出的文件名称为:editName-r-0000,此方法没有彻底修改整个文件名,只修改了一部 ...
- AdobeFlashPlayer.资料
1.chrome 设置 chrome-->设置-->高级-->内容设置-->Flash 2. 3. 4. 5.
- Linux下c++11多线程聊天室
刚看的c++11多线程,写个聊天室试试编译的时候加上 c++11 和 多线程库g++ -Wall -std=c++0x -pthread -o server server.cppserver 和cli ...
- phalcon:官方多模块支models层,mode数据库配置(二)
phalcon:官方多模块支models层,mode数据库配置(二) 利用:\pahlcon\mvc\model\Manager::registerNamespaceAlias()方法获取多模块下的m ...
- django1.8.2 建站实现分页显示功能
个人经验: django先写view,在再写url,最后写html文件. 要实现某个功能,先google查找相关文章,在到文档中寻找相关章节,最后本地实现功能. 1.django1.8.2 实现分页功 ...
- windows目录create、isExsit、remove
RemoveDirectoryA( __in LPCSTR lpPathName ); PathFileExistsA(LPCSTR pszPath); CreateDirectoryA(strDir ...