在课堂上声明时,函数应该有一个原型

时间:2017-02-12 04:06:56

标签: c++ oop

我有一个要通过函数打印的字符串。我正在使用turbo-c编译器。

使用程序方法时,我可以通过以下代码完成:

#include <iostream.h>
#include <conio.h>

class name{
   public: void strr(char name[]);
};

void main(){
   char name1[10];
   cout << "Enter name";
   cin >> name1;
   strr(name1);
   getch();
}

void name::strr(char name[]){
   cout << name;
}

但是使用oop方法我无法打印字符串。我的代码是:

Function 'strr' hould have a prototype

使用oop方法我收到错误{{1}}。

2 个答案:

答案 0 :(得分:3)

由于您的函数是在类中定义的,因此您需要name类的对象/实例来调用它:

name obj;
cin >> name1;
obj.strr(name1);

或者,如果将函数声明为static,则可以在没有类实例的情况下调用它,因为该函数是类函数

class name{
   public: static void strr(char name[]) {cout << name << endl;}
};

...

cin >> name1
name::strr(name1);

答案 1 :(得分:-1)

试试这个 name :: void strr(char name []) {}