base

c++中using 关键字

我的梦境 提交于 2020-02-27 20:00:52
作用 1.在当前文件中引入命名空间,比如using namespace std。 2.等效于typedef的作用,该方法是在c++11中引入的。 比如: using uVec = std :: vector < int > ; typedef std :: vector < int > tVec ; int main ( ) { int a [ 3 ] = { 1 , 2 , 3 } ; //v1,v2,v3达到的效果是一样的 uVec v1 ( a , a + 3 ) ; tVec v2 ( a , a + 3 ) ; vector < int > v3 ( a , a + 3 ) ; for ( int i = 0 ; i < 3 ; i ++ ) cout << "v1:" << v1 [ i ] << " v2:" << v2 [ i ] << " v3:" << v3 [ i ] << endl ; } 3.让父类同名函数在子类中以重载方式使用(参考effective c++item33): 隐藏父类的名称 子类中重写(override)与父类方法同名的方法,将会隐藏父类中所有同名的重载方法。例如: class Base { public : void fun ( ) { cout << "Base do something" << endl ; } void fun (

未 数值的整数次方

陌路散爱 提交于 2020-02-27 05:04:31
题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0 public class Solution { public double Power(double base, int n) { double res = 1,curr = base; int exponent; if(n>0){ exponent = n; }else if(n<0){ if(base==0) throw new RuntimeException("分母不能为0"); exponent = -n; }else{// n==0 return 1;// 0的0次方 } while(exponent!=0){ if((exponent&1)==1) res*=curr; curr*=curr;// 翻倍 exponent>>=1;// 右移一位 } return n>=0?res:(1/res); } } 来源: oschina 链接: https://my.oschina.net/u/4167465/blog/3164577

5 面向对象

烂漫一生 提交于 2020-02-24 19:54:10
1 类型系统 1.1给类型添加方法 // 为类型添加方法 type Integer int // 定义一个新类型Integer, 它与int类型相同 func (a Integer) Less(b Integer) bool { // 给Integer类型添加新方法 less, less 方法输入一个整数,返回布尔值 return a < b // 当前整数a调用less方法要传入一个整数b, 如果a<b,返回true } 如果我们想在方法中修改对象,这种时候必须就要用到指针 func (a *Integer) Add (b Integer) { *a += b } func main() { a := Integer(10) a.Add(5) fmt.Println("a is : ", a) } 1.2 值语义和引用语义 b = a b.Modyfy() // 如果a的值收到影响则a为引用类型,否则为值类型 值类型的数据: 基本数据类型 符合类型: 数组, 结构体, 指针 // 数组想表达引用 var a = [3]int{1,2,3} var b = &a b[1]++ fmt.Println(a, *b) 类似引用类型的数据: 数组切片 : 指向数组的一个区间 map : 键值对 channel : 执行体间的通信设施 接口 : 对一组满足某个契约的类型的抽象 1.3

关于。。。。。的思考

微笑、不失礼 提交于 2020-02-24 09:01:37
所做的项目就要进尾声,做为开发组的一员,总会根据自己所做的,所写的总结一些,思考一些,为自己以后的项目开发提供经验和教训。 看了听棠.NET 所写的关于构架中COMMON层的想法,很有同感,这也是我常常思考的问题:如何使一个项目以最小的代码量,最大的一致性完成?能不能为以后类似的项目提供现成的类库?而不是周而复始的重复的写代码?能否使系统便于修改,能以最少的时间,最小的工作量完成客户的需求的变更?这是我所思考的,也是在摸索的。。。。 在一个新项目开始时,在需求分析后,在整个系统构架方面,我相信用.NET的技术人员都能搭建得出来,无非就是数据访问层、实体层、业务逻辑层、业务外观层、表示层。但是我觉得这样的构架是表面的,大体的,只能说是已经把握大致的方向,大凡用.NET 平台开发业务系统都会如此,但是作为一个合格的系统分析员的你,是否已经完成了自己的份内工作呢,没有,远远没有。你必须考虑一些整体性的东西,面向整个系统思考问题,而不是面向某个模块,某个功能来思考问题。 那么,如果你是一个系统分析员。你会怎么做呢? 1. 首先将系统纵向划分是不可避免的,也就是将系统划分成一个个的模块:模块的功能,模块的实现,模块的流程,模块级别,模块之间的关系。此时,你的水平的就体现出来了,你应该能根据系统开发的技术,所使用的基础类库来总结出一个BASE模块,也就是COMMON,或许你的公司开发已经很成熟

C++静态成员

↘锁芯ラ 提交于 2020-02-22 19:19:20
类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态数据成员还具有以下特点: 1.静态数据成员的定义。 静态数据成员实际上是类域中的全局变量。所以,静态数据成员的定义(初始化)不应该被放在头文件中。 其定义方式与全局变量相同。举例如下: xxx.h文件 class base{ private: static const int _i;//声明,标准c++支持有序类型在类体中初始化,但vc6不支持。 }; xxx.cpp文件 const int base::_i=10;//定义(初始化)时不受private和protected访问限制. 注:不要试图在头文件中定义(初始化)静态数据成员。在大多数的情况下,这样做会引起重复定义这样的错误。即使加上#ifndef #define #endif或者#pragma once也不行。 2.静态数据成员被 类 的所有对象所共享,包括该类派生类的对象。即派生类对象与基类对象共享基类的静态数据成员。举例如下: class

C++静态成员函数小结

天涯浪子 提交于 2020-02-22 19:07:18
原文地址: http://hi.baidu.com/quanhaili/blog/item/5a40ba86b37e1b22c65cc38f.html 静态类成员包括静态数据成员和静态函数成员两部分。   一 静态数据成员:   类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态数据成员还具有以下特点:   1.静态数据成员的定义。   静态数据成员实际上是类域中的全局变量。所以,静态数据成员的定义(初始化)不应该被放在头文件中。   其定义方式与全局变量相同。举例如下:   xxx.h文件   class base{   private:     static const int _i;//声明,标准c++支持有序类型在类体中初始化,但vc6不支持。   };   xxx.cpp文件   const int base::_i=10;//定义(初始化)时不受private和protected访问限制.   注:不要试图在头文件中定义(初始化)静态数据成员。在大多数的情况下,这样做会引起重复定义这样的错误。即使加上#ifndef #define #endif或者#pragma once也不行。 2.静态数据成员被 类 的所有对象所共享

C++ 静态数据成员小谈

偶尔善良 提交于 2020-02-22 19:04:27
类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后的学习和面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一.静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态数据成员还具有以下特点: 1.静态数据成员的定义。 静态数据成员实际上是类域中的全局变量。所以,静态数据成员的定义(初始化)不应该被放在头文件中。 其定义方式与全局变量相同。举例如下: 1 xxx.h文件 2 class base{ 3 private: 4 static const int _i;//声明,标准c++支持有序类型在类体中初始化,但vc6不支持。 5 }; 1 xxx.cpp文件 2 const int base::_i=10;//定义(初始化)时不受private和protected访问限制. 注:不要试图在头文件中定义(初始化)静态数据成员。在大多数的情况下,这样做会引起重复定义这样的错误。即使加上#ifndef #define #endif或者#pragma once也不行。 2.静态数据成员被类的所有对象所共享,包括该类派生类的对象

C++静态成员函数小结

…衆ロ難τιáo~ 提交于 2020-02-22 19:03:43
一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态数据成员还具有以下特点: 1.静态数据成员的定义。 静态数据成员实际上是类域中的全局变量。所以,静态数据成员的定义(初始化)不应该被放在头文件中。 其定义方式与全局变量相同。举例如下: xxx.h文件 class base{ private: static const int _i;//声明,标准c++支持有序类型在类体中初始化,但vc6不支持。 }; xxx.cpp文件 const int base::_i=10;//定义(初始化)时不受private和protected访问限制. 注:不要试图在头文件中定义(初始化)静态数据成员。在大多数的情况下,这样做会引起重复定义这样的错误。即使加上#ifndef #define #endif或者#pragma once也不行。 2.静态数据成员被 类 的所有对象所共享,包括该类派生类的对象。即派生类对象与基类对象共享基类的静态数据成员。举例如下: class base{ public : static int _num;//声明 }; int base::_num=0;//静态数据成员的真正定义 class derived

base href的意思(相对链接)

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-20 08:00:12
base href的意思(相对链接) 2007-06-29 16:04 就是指网页里面的 相对链接 的前缀url,如在<head></head>部分定义了此链接为 http://ent.sina.com.cn/ ,那么下面的<a href=aaa.html></a>代表 http://ent.sina.com.cn/aaa.html 这个标签的用处是解决 编程时候的相对路径问题 ,比如有的cms,因为每页路径不一样,他就给你生成<a href="/sdsd/dsd.html">sddsds</a>之类的,如果我在本地调试,肯定会在本地开一个目录的,这样就乱了,你可以把它生成相对路径,如<a href="sdsd/dsd.html">sddsds</a>,只要在head部分加上<base href=http://localhost/abc/>即可。 所以说,这个标签主要为了解决web编程的时候一些相对路径的问题。 当然,这个base还有一个用法,如在head部分加上这么一行: <base href="_blank"> ,就是默认所有链接在新窗口打开。 来源: https://www.cnblogs.com/shinings/archive/2010/10/27/1862749.html

Ardino基础教程 3_流水灯

假装没事ソ 提交于 2020-02-18 04:29:14
实验三:流水灯 在生活中我们经常会看到一些由各种颜色的LED灯组成的广告牌,广告牌上各个位置的LED灯不断的变化,形成各种效果。本节实验就是利用LED灯编程模拟广告灯效果。 实验器材清单 LED灯 6个 220欧姆电阻 6个 多才面包板实验跳线 若干 实验连线 按照二极管的接线方法,将六个LED灯依次接到数字1~6号引脚上。 如图所示,为流水灯实验接线图: 实物链接效果图: 实验结果 可以看到LED流动闪烁。 参考程序如下: int BASE = 2 ; //第一颗LED 接的 I/O 脚 int NUM = 6; //LED 的个数 void setup() { for (int i = BASE; i < BASE + NUM; i ++) { pinMode(i, OUTPUT); //設定數字I/O腳為輸出 } } void loop() { for (int i = BASE; i < BASE + NUM; i ++) { digitalWrite(i, LOW); //設定數字I/O腳輸出為"低",即逐漸關燈 delay(200); //延遲 } for (int i = BASE; i < BASE + NUM; i ++) { digitalWrite(i, HIGH); //設定數字I/O腳輸出為"低",即逐漸開燈 delay(200); //延遲 } }