C++类与对象
【1】类的内存问题
类是抽象的,不占用内存,而对象是具体的,占用
存储空间。在一开始时弄清对象和类的关系是十分
重要的。
【2】类的声明
如果在类的定义中既不指定private也不指定public,则系统就默认为是私有的。
归纳以上对类类型的声明,可得到其一般形式如下:
class 类名
{
private:
私有的数据和成员函数;
public:
公用的数据和成员函数;
};
(private和public称为成员访问限定符(memberaccess specifier)。
【3】用struct声明的类,如果对其成员不作private或public声明,系统将其默认为public
如果在类的定义中既不指定private也不指定public,则系统就默认为是私有的。
【4】类的成员函数是类体中十分重要的部分。如果一个
类中不包含成员函数,就等同于C语言中的结构体
了,体现不出类在面向对象程序设计中的作用
【5】在类外面声明函数的定义,需要用::来限制函数
类函数必须先在类体中作原型声明,然后在类外定
义,也就是说类体的位置应在函数定义之前,否则
编译时会出错。
class Student
{
public:
void display( ); //公用成员函数原型声明
private:
int num;
string name;
char sex;
//以上3行是私有数据成员
};
void Student∷display(//在类外定义display类函数
{
cout<<′′num:′′<<num<<endl;
cout<< name:′′<<name<<endl
cout<< sex:′′<<sex<<endl
}Student stud1,stud2;//定义两个类对象
【6】类的储存方式
一个对象所占的空间大小只取决于该对象中数据成员所占的空间,而与成员函数无关。函数 代码是存储在对象空间之外的。
如果对同一个类定义了10个对象,这些对象的成员
函数对应的是同一个函数代码段,而不是10个不同的函数代码段
【7】类的数据的更改方式
通过成员函数对数据成员进行操作称为类的实现,
为了防止用户任意修改公用成员函数,改变对数据
进行的操作,往往不让用户看到公用成员函数的源
代码,显然更不能修改它,用户只能接触到公用成函数的目标代码
#include<iostream>
using namespace std; class Array_max
{
public:
void set_value();
void max_value();
void show_value();
private:
int array[];
int max;
}; void Array_max::set_value()
{
int i;
for(i = ;i<;i++)
{
cin>>array[i];
}
} void Array_max::max_value()
{
int i;
max = array[];
for(i = ;i<;i++)
{
if(array[i]>max)
max = array[i];
}
} void Array_max::show_value()
{
cout<<"max="<<max;
} int main()
{
Array_max arrmax;
arrmax.set_value();
arrmax.max_value();
arrmax.show_value();
return ;
}
C++类与对象的更多相关文章
- Java编程里的类和对象
像我们搞计算机这块的,都知道这么一件事,当前的计算机编程语言主要分为两大块,一为面向过程,二为面向对象.Java就是一门纯面向对象的语言.学习了一个月左右的Java,在下对于Java当中的类和对象有了 ...
- Python - 类与对象的方法
类与对象的方法
- C++基础知识(5)---类和对象
终于把C++中的基础在前面的几篇博客中总结完了,可能还有一些语法还没有总结到,没关系,以后用到了再查资料就好.类是C++中的一个非常重要的概念,这是区别你使用的C++到底是面向过程还是面向对象的一个重 ...
- 简述JavaScript对象、数组对象与类数组对象
问题引出 在上图给出的文档中,用JavaScript获取那个a标签,要用什么办法呢?相信第一反应一定是使用document.getElementsByTagName('a')[0]来获取.同样的,在使 ...
- 前端学PHP之面向对象系列第一篇——类和对象
× 目录 [1]类 [2]成员属性[3]成员方法[4]对象[5]成员访问[6]this 前面的话 面向对象程序设计(OOP)是一种计算机编程架构.计算机程序由单个能够起到子程序作用的单元或对象组成,为 ...
- Objective-C Runtime 运行时之一:类与对象
Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一 ...
- [Java入门笔记] 面向对象编程基础(一):类和对象
什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实 ...
- 解析Java类和对象的初始化过程
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来 ...
- 02OC的类和对象
这章重点介绍OC的类以及对象,由于C语言是面向过程语言,而OC只是对于C语言多了一些面向对象的特性,所以OC相对于其他面向对象语言,例如C#.Java等没有那么多的语法特性,所以差别还是比较大的. 一 ...
- swift基础:第六部分:类与对象
http://reactnative.cn/docs/0.24/getting-started.html#content(react Native 开发文档) 互联网这个时代,你松懈一天,就会有很多很 ...
随机推荐
- PKUSC 模拟赛 day2 下午总结
终于考完了,下午身体状况很不好,看来要锻炼身体了,不然以后ACM没准比赛到一半我就挂掉了 下午差点AK,有一道很简单的题我看错题面了所以没有A掉 第一题显然是非常丝薄的题目 我们很容易通过DP来O(n ...
- 【Linux高频命令专题(11)】cp
概述 cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是 ...
- Sina App Engine(SAE)入门教程(5)- SaeSegment(中文分词服务)使用
分词能干什么? 提取一篇文章的关键字 检测特定的段落中有没有违禁词 智能机器人 …..尽你所想 开启SAE 分词服务 首先你需要在sae的管理面板开始分词服务后才能使用sae的服务.具体的开启操作: ...
- jQuery编程基础精华02(属性、表单过滤器,元素的each,表单选择器,子元素过滤器(*),追加方法,节点,样式操作)
属性.表单过滤器 属性过滤选择器: $("div[id]")选取有id属性的<div> $("div[title=test]")选取title属性为 ...
- linux协议栈部分资料
socket实现:http://blog.csdn.net/zhangskd(含有tcp/ip专栏) http://blog.chinaunix.net/uid-20528014-id-90573.h ...
- 结巴分词标注兼容_ICTCLAS2008汉语词性标注集
计算所汉语词性标记集Version 3.0制订人:刘群 张华平 张浩计算所汉语词性标记集... 10. 说明... 11. 名词 (1个一类,7个二类,5个三类) 22. 时间词(1个一类,1个二类) ...
- 简单易懂的命名空间及use的使用
最近一段时间在研究php框架,一直想的什么时候才能开发出自己的框架,当然这是为了提升自己的编程水平,同时能把平时学的零散的东西糅合在一块熟练应用.但是开发一个框架根本不知道如何做起,先开发什么,虽然p ...
- TeeChart的X轴为时间,多个Y轴的显示
最后上代码 public partial class Test : Form { private TChart tChart = new TChart(); ; public Test() { Ini ...
- Android开发之源码:多次点击事件的原理和实现
多次点击事件 多次点击事件原理:最后一次点击事件与第一次点击事件的时间间隔是否小于某个时间,当小于的时候,就认为这是一个多次点击事件. Android源码实现效果: import android.ap ...
- CodeForces Round #290 Fox And Dinner
而是Div2的最后一题,当时打比赛的时候还不会最大流.自己能够把它写出来然后1A还是很开心的. 题意: 有n个不小于2的整数,现在要把他们分成若干个圈.在每个圈中,数字的个数不少于3个,而且相邻的两个 ...