zoukankan      html  css  js  c++  java
  • 类和对象:内联成员函数和重载成员函数

    内联成员函数

    • inline + 成员函数
    • 整个函数体出现在类定义内部
    class B { 
    	inline void func1(); 
    	void func2() {   }; 
    }; 
    void B::func1() { }
    

    成员函数的重载及参数缺省

    • 重载成员函数
    • 成员函数 -- 带缺省参数
    #include <iostream> 
    using namespace std; 
    class Location {   
    private:
    	int x, y;  
    
    public:           
    	void init( int x=0 , int y = 0 ); //x,y缺省为0    
    	void valueX( int val ) { x = val ; }     
    	int valueX() { return x; }
    };
    
    void Location::init(int X, int Y) { x = X;  y = Y; } 
    
    int main() { 
    	Location A;  
    	A.init(5);  //x=5, y缺省
    	A.valueX(5);  //调用第1个valueX
    	cout << A.valueX();  //调用第2个valueX
    	return 0; 
    }
    
    • 使用缺省参数要注意避免有函数重载时的二义性
    #include <iostream> 
    using namespace std; 
    class Location {   
    private:
    	int x, y;  
    
    public:           
    	void init( int x=0 , int y = 0 );     
    	void valueX( int val= 0) { x = val ; }     //val缺省为0
    	int valueX() { return x; }
    };
    void Location::init(int X, int Y) { x = X;  y = Y; } 
    int main() { 
            Location A; A.valueX();     //错误, 编译器无法判断调用哪个valueX, 可能是第1个缺省, 也可能是第2个
    	return 0; 
    }
    
  • 相关阅读:
    rabbitmq集群几个比较好的文章
    rabbitmq集群步骤
    rabbitmq安装
    查找出系统中大于50k 且小于100k 的文件并删除。
    现将文件a.txt 中的所有abc 替换成def
    统计/var/log/下有多少文件
    压缩解压目录结构不能改变
    chkconfig命令
    linux运维必须掌握
    三剑客
  • 原文地址:https://www.cnblogs.com/rookieveteran/p/13839918.html
Copyright © 2011-2022 走看看