C++面向对象 类的定义
来源:互联网 发布:dota2第一滴血数据bug 编辑:程序博客网 时间:2024/06/08 00:22
C语言是面向过程的语言。它的思想就是将一个程序分成若干个过程,然后写出每个过程的算法。但是重用性比较差。
C++面向对象的语言:将自然界的事物看成不同的实体,也就是对象。每个对象都有自己的行为和状态。
面向对象程序语言的主要特征:
1.抽象 将某些对象根据他们相同的特征进一步组成一个类。
2.封装 将每个数据封装在各自的类中,又设置了各种访问权限,别的类可以在被允许的情况下访问该类中的数据,如果不被允许,则无法访问该数据,从而避免了非法操作和出错的可能。
3.继承 继承父类的所有属性
4.多态 不同的对象调用相同的函数名称,却可以导致不同的行为或者结果的现象称为多态。
类、对象、成员
类由若干个变量和相关的函数组成
对象拥有这些变量和函数
成员:数据成员和成员函数
类中的成员默认是私有的,私有成员不能被对象直接访问,只能通过在类中设置的接口函数来访问。
一般情况下我们将类的数据成员设置成私有,而使用类的公有的函数来访问它们。
函数的申明和实现在一起的情况:
// Created by amesty on 16/5/11.
// Copyright © 2016年 travelrely. All rights reserved.
//
#include <stdio.h>
#include <iostream>
using std::cout;
class Human
{
// public :
//类中的成员默认是私有的,私有成员不能被对象直接访问,只能通过在类中设置的接口函数来访问。
private:
int weight;
public:
//void set(int w){weight=w;}
void set(int w)
{
if(w>0&&w<100)
weight = w;
else
{
cout<<"请将set函数的参数设置为一个大于0而小于100的数字,否则默认设置为0\n";
weight=0;
}
}
int get(){returnweight;}
};
int main()
{
Human Tom;
// Tom.weight=5;
Tom.set(5);
cout<<"汤姆的体重为:"<<Tom.get()<<"\n";
Human Mike;
Mike.set(6);
cout<<"迈克的体重为:"<<Mike.get()<<"\n";
return 0;
}
函数的声明和实现分开的情况
#include <stdio.h>
#include <iostream>
using std::cout;
class Human
{
// public :
//类中的成员默认是私有的,私有成员不能被对象直接访问,只能通过在类中设置的接口函数来访问。
private:
int weight;
public:
//void set(int w){weight=w;}
void set(int w);
//函数的声明部分仅仅是说明该函数的参数类型及返回值类型
int get(){returnweight;}
};
int main()
{
Human Tom;
// Tom.weight=5;
Tom.set(5);
cout<<"汤姆的体重为:"<<Tom.get()<<"\n";
Human Mike;
Mike.set(6);
cout<<"迈克的体重为:"<<Mike.get()<<"\n";
return 0;
}
void Human::set(int w)
{
if(w>0&&w<100)
weight = w;
else
{
cout<<"请将set函数的参数设置为一个大于0而小于100的数字,否则默认设置为0\n";
weight=0;
}
}
- Objective-C的面向对象---类定义
- C++面向对象 类的定义
- 面向对象——类的定义
- brew面向对象C实现的宏定义展开
- C实现部分面向对象的简单宏定义
- 关于面向对象一些名词的定义(C++)
- 面向对象的系统分析之发现对象、定义对象类
- 关于面向对象的定义
- java基础-面向对象、类与对象的定义
- 面向对象基础——类与对象的定义
- 面向对象_定义类
- 面向对象编程-定义类
- 面向对象的 C
- JavaScript面向对象编程(2)-- 类的定义
- JavaScript面向对象编程(2)-- 类的定义
- [转]JavaScript面向对象编程(2)-- 类的定义
- JavaScript面向对象编程(2)-- 类的定义
- JavaScript面向对象编程(2)-- 类的定义
- C语言学习-getchar()的作用机制
- 详细解读ARM寄存器之CPSR
- python实现从豌豆荚批量下载样本
- hdoj--5671--Matrix(思维)
- HDU 5245 Joyful 经典概率题目推公式
- C++面向对象 类的定义
- 模态与push导致弹出半透明背景不同
- 用Gradle构建时,将密码等敏感信息放在build.gradle之外
- Bulls and Cows
- 学生信息管理系统.servlet
- 《TCP/IP详解》学习笔记-第6/7/8章 ICMP/Ping/Traceroute
- Android 国际化
- iOS循环引用的三种场景
- iOS开发之处理网络图片的步骤