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 数据
    }


  • 相关阅读:
    java学习笔记(4)多态
    scala学习笔记(1)
    java复习(3)继承下
    java复习(3)继承
    java复习(2)
    java中常见的异常种类
    数组的内存结构
    Castle ActiveRecord学习(一)简介
    OAuth2.0 Owin 授权问题
    将对象转为json,加入到HttpResponseMessage中
  • 原文地址:https://www.cnblogs.com/TadGuo/p/8626008.html
Copyright © 2011-2022 走看看