C++中字符串做函数形参的两种写法
时间: 2024-03-18 20:40:36 浏览: 97
C++中字符串做函数形参的两种写法如下:
1. 传递指针或引用
函数定义中可以使用指向字符数组的指针或引用作为形参,例如:
```c++
void printString(const char* str) {
std::cout << str << std::endl;
}
void printString(const std::string& str) {
std::cout << str << std::endl;
}
```
第一个函数使用 `const char*`,第二个函数使用 `const std::string&`,分别表示传递一个字符数组或一个 `std::string` 类型的引用。在函数内部,可以像使用普通字符数组或 `std::string` 一样使用形参。
2. 传递对象
也可以将字符串作为对象传递。为此,需要定义一个包含字符串数据成员和相关操作的类,例如:
```c++
class String {
public:
String(const char* str) {
// 构造函数,将字符串复制到对象的数据成员中
}
void print() {
// 输出对象的数据成员
}
private:
// 字符串数据成员
};
```
然后,可以在函数定义中使用该类作为形参类型,例如:
```c++
void printString(const String& str) {
str.print();
}
```
这种方法可以提供更多的字符串操作和更好的封装性,但也需要更多的代码来定义类和相关操作。
阅读全文