zoukankan      html  css  js  c++  java
  • copy construction note

    #include <iostream>
    using std::ostream;
    using std::istream;
    
    class String
    {
    private:
        char * str;
        int len;
        static int num_strings;
        static const int CINILIM = 80;
    public:
        String(const char * s);   //constructor
        String();
        String(const String &);   //copy constructor
        ~String();
        int length() const { return len; }
        //operator overloading
        String & operator=(const String & st);
        String & operator=(const char * s);
        char & operator[](int i);
        const char & operator[](int i) const;
        //friends
        friend bool operator<(const String &st1, const String &st2);
        friend bool operator>(const String &st1, const String &st2);
        friend bool operator==(const String &st1, const String &st2);
        friend std::ostream & operator<< (std::ostream & os, const String & st);
        friend std::istream & operator>>(std::istream & is, const String & st);
        //static
        static int HowMany();
    str0.h
    String::String(const String & st)
    {
    num_strings++;
    len = st.len;
    str = new char[len + 1];
    strcpy(str, st.str); // 在公有函数中的类对象,是可以访问private 数据
    }


  • 相关阅读:
    正则表达式
    对象与私有成员变量恩仇录
    c语言,中缀表达式转后缀表达式并计算
    Graphics Class
    获取当前应用程序所在目录的路径
    centos安装vim
    Linux更改IP地址
    Linux常用命令
    Linux添加环境变量
    Linux虚拟机安装
  • 原文地址:https://www.cnblogs.com/TadGuo/p/8626008.html
Copyright © 2011-2022 走看看