请设计一个KString类,让它具备如下特性:
1) KString str1 = "Hello";
2) KString str2 = str1;
3) str += "world";在执行 
1)之后,str1 的内容是 "Hello";在执行 2)之后,str2 的内容是 "Hello"; 但是str2内部未给"Hello"分配新空间;在执行 3)之后,str2 的内容是 "Helloworld", str1的内容是"Hello"而未改变;
这个怎么解决呢?

解决方案 »

  1.   

    String是final的,不可继承。
    1) KString str1 = "Hello";永远非法的
      

  2.   

    在不能自由控制内存分配和引用的情况下,要想用Java做到这个非常不容易,建议先熟悉一下Java与C++的区别。C++做这个事情是强项。
      

  3.   

    楼主的问题类似于 str1保持原来的hello  str2 变成 helloword吗?
    str2和str1引用都一样
    str1改变了 str2起始也要跟着变,
    所需要做到不一样的话需要用到克隆
      

  4.   

    楼主的问题类似于 str1保持原来的hello  str2 变成 helloword吗?
    str2和str1引用都一样
    str1改变了 str2起始也要跟着变,
    所需要做到不一样的话需要用到克隆 
      

  5.   


    代码写错了,str变量在哪声明的?