c++ stl学习 传统C字符串用法
2013-11-23 21:24
495 查看
#include "stdafx.h" #include <cstring> #include <iostream> using std::cout; using std::endl; class JString{ public: JString(const char* pszContent); JString(const JString& oString); JString& operator = (const JString& oString); ~JString(){ if(m_pszContent != 0){ delete[] m_pszContent; } } void Output() const; private: char* m_pszContent; }; void JString::Output() const{ cout << m_pszContent; } JString::JString(const char* pszContent):m_pszContent(0){ int nLen = strlen(pszContent); if(nLen > 0){ m_pszContent = new char[nLen + 1]; strcpy(m_pszContent, pszContent); } } JString::JString(const JString& oString):m_pszContent(0){ int nLen = strlen(oString.m_pszContent); if(nLen > 0){ m_pszContent = new char[nLen + 1]; strcpy(m_pszContent, oString.m_pszContent); } } JString& JString:: operator = (const JString& oString){ m_pszContent = 0; int nLen = strlen(oString.m_pszContent); if(nLen > 0){ m_pszContent = new char[nLen + 1]; strcpy(m_pszContent, oString.m_pszContent); } return *this; } int _tmain(int argc, _TCHAR* argv[]) { //常见的char使用方式1,使用数组 char szWebSite[20]; strcpy(szWebSite, "www.jiesoon.com"); cout << szWebSite << endl; //使用方式2,使用动态内存 char *pszWebSite = new char[20]; strcpy(pszWebSite, "www.jiesoon.com"); cout << pszWebSite << endl; delete[] pszWebSite; //使用方式3,使用自定义类 JString oString("www.jiesoon.com"); oString.Output(); getchar(); return 0; }
相关文章推荐
- C++学习 STL之一:字符串用法详解
- C++学习 STL之六:map/multimap用法详解
- 【用法详解】C++-STL 队列queue与优先队列priority_queue的用法详解与学习心得
- C++学习 STL之list之用法小结
- 【C++ STL学习之八】stack用法
- 【用法详解】C++--STL之map的用法详解与学习心得
- C++学习 STL之二:vector容器用法详解
- C++学习 STL之三:deque用法详解
- C++学习 STL之四:list用法详解
- C++之STL中set的用法总结
- python学习之 字符串前'r'的用法
- C++STL 常用 函数 用法
- C++学习 对string和stringstream用法认知
- C++学习(六) const用法总结
- C++ STL源码学习(之RB Tree篇)
- C++ STL 学习笔记 set
- STL学习之六:queue用法示例
- 《Windows Via C/C++》边学习,边翻译(七)操作字符和字符串-6
- [C++ Primer Plus]学习笔记--每次读取一行字符串输入
- C++ MAP 容器用法 STL