zoukankan      html  css  js  c++  java
  • 构造函数和类型转换,在构造函数中强制转换,

    当构造函数只有一个参数(或者有多个参数,但是其他参数都带有默认值,(有默认值的参数靠右排放),这样就可以在调用的时候只传一个参数,)就可以被用来做类型转换,

    #include<iostream>
    #include<string.h>
    using namespace std;
    class String
    {
    	int  len ;
    	char * rep;
    public:
    	String():len(0)
    	{
    		rep=new char[1];
    		strcpy(rep,"");
    	}
    	String(char* s)
    	{
    		if(!s)
    		{
    			len=0;
    			rep=new char[1];
    			strcpy(rep,"");
    		}
    		else
    		{
    			len=strlen(s);
    			rep=new char[len+1];
    			strcpy(rep,s);
    		}
    		
    	}
    	String(const String &str):len(str.len),rep(new char[len+1])
    	{
    		strcpy(rep,str.rep);
    	}
    	~String()
    	{
    		delete[] rep;
    	}
    	friend void print(const String& s);
    
    };
    void print(const String& s )
    {
    	cout<<s.rep<<endl;
    	return;
    }
    
    
    
    int main()
    {
    	char* a="hello kity";
    	print(a);
    	String b="bad ";
    	print(b);
    	return 0;
    }


  • 相关阅读:
    mac iterm2配置
    Test注解的两个属性(转)
    稳定排序和不稳定排序(转)
    [转]异步机制与异步原理
    Flex学习笔记
    [转]有道云笔记markdown
    H5调试
    react生命周期方法
    ESLint 代码检查规范
    REST API
  • 原文地址:https://www.cnblogs.com/wsq724439564/p/3258156.html
Copyright © 2011-2022 走看看