안녕하세요 소갤 형님들
저는 지금 대학1학년 컴공에 다니고 있는 학생입니다.
 제가 화학생물공학과에있다가 , 컴퓨터공학쪽으로 2학기때 막 전과해서.. 아직 아무것도 모르고 c언어만 막 아는 사이에 어느덧 c++시험이 있게 되었씁니다..
진짜 한번만 아는것이라도 가르쳐주시는 은혜를 베풀어주시면 다음부터 꼭 스스로 컴퓨터 c++을 열심히 공부해서 이런사람 안되도록하겠습니다.
 진짜 한번만 아는것이라도 잇으시다면 써주시면 감사합니다.
이런글 올려서 죄송합니다..ㅠ
2. 다음 프로그램이 컴파일될 수 없는 이유를 설명하라.

int foo(int a= 10) {
 return a+1;
}

int foo(void){
 return 10;
}

int main()
{
 foo();
}

3. 다음에 주어진 클래스 A를 매개변수로 가지고 num이 음수이면 true, 그렇지 않으면 false를 반환하는 isNeg()라는 A의 friend 함수를 선언하고 정의.

class A {
 int num;
public:
 A(int x) { num =x;}
};


선언(선언하는 위치도,,) :


정의 :


4. 다음 프로그램 실행때 오류발생. 오류없이 실행 될수 있도록 클래스S에 함수를 추가하라.


#include<iostream>
#include<cstring>
#include<cstdlib>
using namespace std;

class S{
 char *p;
public:
 S( char *ptr);
 ~S();
 void show();
};

S::S(char *ptr){
 p= new char[ strlen(ptr+1 ];
 strcpy(p, ptr);
}

S::S() {delete[] p;}

void S::show() { cout <<p << endl;}

int main()
{
 S s1("this is a test.");
 S s2 = s1;

 s1.show();
 s2.show();
}

선언:

 


정의:


4. main()이 실행되도록 클래스를 프로그램하라. 멤버함수 f()는 문자 '?'를 화면에 출력한다.

         //이 프로그램을 실행하면 ?????가 출력된다.
int main()
{
 A a;
 a. f(). f(). f(). f(). f();
}

답:

 

 

 

5. 다음 클래스 정의에는 오류가 있다. 오류가 있는 곳을 찾고 이유를 설명하라.

class A
{
 int n;
public:
 A (int n) : n(n) {}
 int get() {return n; }
 void show() const {
  std::cout <<get()<<std::endl;
 }
};


답:


6. 다음 프로그램은 컴파일되지 않는다 .이유를 설명하라.
class A{
 int x, y;
public:
 A( int a, int b) : X(a), y(b)
  void show() {}
};

int main()
{
 A a(1,2);
 A arr[10];

 a.show();

 for(int i=0; i<10; ++i )
  arr[i].show()
}

답:


7. 다음의 main()함수가 실행 될 수 있도록 클래스를 선언하고 정의하라.

  //요구사항 : 클래스 A는 생성자에서 양의 정수를 인수로 받는다, A의 show()는 정수 1부터 생성자에 전달된 양의 정수까지의 합을 화면에 직접 출력한다.

#include<iostream>
using namespace std;

int main()
{
 A a(10);
 A b(100);
 A c(1000);

 a. show();  //55를 출력
 b. show();  //55를 출력
 c. show();  //55를 출력
}


A의 선언:

 

A의 정의: