c++类的基础
1、抽象:
抽象出公有特性,包括公有动作,公有数据。
2、类:类是具有相同属性和行为的一组对象的集合(变量和函数)
声明格式:
class 类名(Dog)
{
类体:(数据和函数成员)默认为私有成员,结构体默认为公有成员
}
3、类成员的访问权限:public ,private,protected
3.1函数成员的实现:
主要有两类:1、在直接申明函数成员时实现
2、在类的外部实现(内联inline 函数和普通函数)
#include<iostream>
using namespace std;
class Dog
{
private:
int age;
public:
int func(int a);
int func2(int c);
int func1(int b)//类内部实现的函数成员
{
return age = b;
}
};
inline int Dog::func(int a)//外部实现的内联函数
{
return age = a;
}
int Dog::func2(int c)//外部实现的普通函数
{
while(c<5)
{
c++;
}
return c;
}
int main()
{
Dog d1;
int k = d1.func(3);
int j = d1.func1(4);
int q = d1.func2(0);
cout<<"k= "<<k<<"\n";
cout<<"j= "<<j<<"\n";
cout<<"q= "<<q<<"\n";
}
结果:
k= 3
j= 4
q=5
-------------------------------------------------------------------
4、对象:对象就是变量,是类的实例化---->用一个类描述一个对象(属性和动作(数据和函数))
类型 变量名
class Dog d1;或者去掉类的关键字 Dog d1;
4.1类成员的访问:
私有成员只能在类的私有函数成员内访问,(这里并没有规定是哪种权限的成员),类的对象不能再类的外部访问私有成员;
保护成员只能在类的私有函数成员内访问,(这里并没有规定是哪种权限的成员),类的对象不能再类的外部访问私有成员;
公有成员能在类的私有函数成员内访问,类的对象也能在类的外部访问私有成员。
与struct的区别:struct没有函数成员,并且全为公有权限;
类中的数据成员尽量初始化为私有成员(通过公有函数来来访问)
4.2数据成员的初始化:
通过类内的公有函数来进行初始化:如下例:
#include<iostream>
class Rec
{
private:
int longs;
int height;
public:
int area(int a,int b)
{
longs = a;
height = b;
return longs*height;
} };
using namespace std;
int main()
{
Rec rec1;
int sum;
sum = rec1.area(,);
cout<<"area = "<<sum<<"\n";
}
c++类的基础的更多相关文章
- TypeScript完全解读(26课时)_7.ES6精讲 - 类Class基础
ES6精讲 - 类Class基础 es5中创建构造函数和实例 原来在es5中的写法 定义好Point后,在原型对象上定义getPostion的方法 实例自身是没有这个方法的,我们调用的时候会去创建他的 ...
- 图解Python 【第五篇】:面向对象-类-初级基础篇
由于类的内容比较多,分为类-初级基础篇和类-进阶篇 类的内容总览图: 本节主要讲基础和面向对象的特性 本节内容一览图: 前言总结介绍: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 ...
- 同步类的基础AbstractQueuedSynchronizer(AQS)
同步类的基础AbstractQueuedSynchronizer(AQS) 我们之前介绍了很多同步类,比如ReentrantLock,Semaphore, CountDownLatch, Reentr ...
- C++ —— 类的基础
C++类的设计与基础 2015.9.11 1.变量和常量的命名:确定程序中的变量.常量.函数的名字都是具有描述性的名字,具有直接的意义.如numberOfStudent 比 numOfSt ...
- 看懂类图——UML类图基础
类图 要学懂设计模式,就需要先看得懂类图,类与类之间的关系是学习设计模式的基础,而在软件工程中,类与类之间的关系是通过UML中的类图来体现. 这篇笔记包含的不会是类图的所有东西,包含的只是各个类之间的 ...
- 设计模式-UML类图基础
设计模式之序-UML类图那点事儿 打14年年底就像写那么一个系列,用于讲设计模式的,代码基于JAVA语言,最早接触设计模式是大一还是大二来着,那时候网上有人给推荐书,其中就有设计模式,当时给我推荐的书 ...
- 开发工具、Object类(java基础知识十一)
1.常见开发工具介绍 * A:操作系统自带的记事本软件 * B:高级记事本软件 * C:集成开发环境 IDE * (Integrated Development Environment) * ...
- 构造方法,重载,static,math类(java基础知识七)
1.构造方法概述和格式 * A:构造方法概述和作用 * 给对象的数据(属性)进行初始化 * B:构造方法格式特点 * a:方法名与类名相同(大小也要与类名一致) * b:没有返 ...
- (转)看懂类图——UML类图基础
类图 要学懂设计模式,就需要先看得懂类图,类与类之间的关系是学习设计模式的基础,而在软件工程中,类与类之间的关系是通过UML中的类图来体现. 这篇笔记包含的不会是类图的所有东西,包含的只是各个类之间的 ...
- UML类图基础说明
UML类图主要由类和关系组成. 类: 什么具有相同特征的对象的抽象, 具体我也记不住, 反正有官方定义 关系: 指各个类之间的关系 类图 类就使用一个方框来表示, 把方框分成几层, 来表示不同的信息, ...
随机推荐
- jQuery中获取文档的高度、可视区域高度以及滚动条距页面顶部的高度
在写页面的时候,经常会碰到这样的情况,就是要获取文档的高度.可视区域高度或者滚动条距页面顶部的高度等情况. 但我总是有些爱搞混淆了,这里还是简单做个笔记吧,这里只限于使用jQuery来获取. 1.获取 ...
- javascript数据类型之Array类型
Array类型 除了Object之外,Array类型恐怕是ECMAScript中最常用的类型了.而且,ECMAScript中的数组与其他多数语言中的数组有着相当大的区别.虽然ECMAScript数组与 ...
- UE4 AsnycTask
使用AsnycTask可以将制定代码放在指定线程中执行,例如更新文理必须放在游戏线程. AsyncTask(ENamedThreads::GameThread, [=](){ updateT ...
- 怎么使用linux命令重启服务器
一下的命令都可以重启Linux服务器: 1.shutdown -r now 2.reboot 3.startx
- Python3 的函数(2)
1.形参和实参 def MyFun(x): return x ** 3 y = 3 print(MyFun(y)) x为形参,y为实参. 2.函数文档 在函数内用单引号引起来的一段文字,在调用函数时不 ...
- 详解javascript中的闭包
全局变量与局部变量 在说闭包之前先说明全局变量与局部变量 全局变量:变量声明时如果不使用 var 关键字,那么它就是一个全局变量,即便它在函数内定义. 局部变量:使用var关键字定义 全局变量/局部变 ...
- Linuxc - define 与 typedef的区别
预处理就是讲一些头文件展开. 预处理还会将使用到宏定义的值替换为真正的值.宏只是单纯的字符串的替换. #define 宏定义 眼里没有语法,不用分号结尾. typedef 定义别名,是有语法的,要用分 ...
- 使用vue 遇到的问题————— 解决手机实时显示项目
Vue项目文件组织架构: src文件夹存放源代码. Static文件夹存放第三方静态资源. git将项目上传github http://blog.csdn.net/laozitianxia/ ...
- linux_vi快捷键
vi有哪些快捷方式? 到行头: 0 ^ home 到行尾: $ shif+a(编辑模式) end 退出保存: wq . x .wq!(强制退出保存) 强制退出不保存: q! 光标移到文件最后一行: s ...
- js_6_dom选择
什么是dom编程? 找 找到html中的标签,赋值给一个变量 改 通过更改这个变量动态地更改html中的内容 返回的内容为列表 如何找到那些标签? id:var find = document.get ...