Форум программистов, компьютерный форум CyberForum.ru

Вопрос про конструктор - C++

Восстановить пароль Регистрация
 
Krist_ALL
 Аватар для Krist_ALL
9 / 9 / 0
Регистрация: 01.02.2010
Сообщений: 317
31.07.2010, 15:09     Вопрос про конструктор #1
цитата исходного кода из книги:

C++
1
2
3
4
5
6
7
8
class stock{
 
...
public: stock(); //Типа объявление конструктора по умолчанию чтоли...
stock(int a,int b); //вот настоящий пользовательский конструктор
 
 
};
зачем в коде stock(); когда ниже идет нормальный прототип конструктора.?

Добавлено через 12 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
 
class oop {
private: int a;
         int b;
         
public:  
         oop();
         oop(int r,int e);
         void pa();
 
};
 
 
oop::oop() 
{
a = r;
b = e;
}
 
 
oop::pa() 
{
    std::cout<<a;
 
}
 
 
 
 
int main() {
 
oop slava(3,3);
slava.pa();
 
 
}
error C2511: 'oop::oop' : overloaded member function 'void (void)' not found in 'oop'
error C2556: 'int __thiscall oop:a(void)' : overloaded function differs only by return type from 'void __thiscall oop:a(void)'

C:\Program Files\Microsoft Visual Studio\MyProjects\oop4\1.cpp(43) : error C2264: 'pa' : error in function definition or declaration; function not called


что за? хелп. я ток недавно начла осваивать ооп...
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
31.07.2010, 15:25     Вопрос про конструктор #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
 
class oop {
private: 
    int a;
    int b;    
public:  
    oop();
    oop(int r,int e);
    void pa();
};
 
oop::oop() 
{
    a = r; // а что такое r?
    b = e; // что такое e? 
    // вы не объявили эти переменные, не передали их параметром, а используете
}
 
void oop::pa() 
// Кто будет указывать тип возвращаемого значения? Страуструп?
{
    std::cout<<a;
}
 
int main() 
{
    oop slava(3,3);
    slava.pa();
}


Цитата Сообщение от Krist_ALL Посмотреть сообщение
цитата исходного кода из книги:
C++
1
2
3
4
5
class stock{
...
public: stock(); //Типа объявление конструктора по умолчанию чтоли...
stock(int a,int b); //вот настоящий пользовательский конструктор
};
зачем в коде stock(); когда ниже идет нормальный прототип конструктора.?
Если вам не нужен конструктор без параметров - можете его не писать
Krist_ALL
 Аватар для Krist_ALL
9 / 9 / 0
Регистрация: 01.02.2010
Сообщений: 317
31.07.2010, 15:33  [ТС]     Вопрос про конструктор #3
Спасибо! все получилось. я понял что может быть несколько конструкторов с разными параметрами (колво) как перегрузка конструктора получается.

а как ты узнал что страуструп? stock?
паралельно сморю ооп в пхп. есь различия и большие..
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
31.07.2010, 15:35     Вопрос про конструктор #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Krist_ALL Посмотреть сообщение
а как ты узнал что страуструп? stock?
Видимо я слишком стар... Когда писал про Страуструпа, то я думал про фразу
А кто это будет за тебя делать? Пушкин?
N-t0z
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16
13.12.2010, 21:12     Вопрос про конструктор #5
Что-то я сильно туплю. Вижу, что проблема схожая, но предидущего объяснения не понял. Повторите пожалуйсто.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
class Uravn {
public:
Uravn();
int a,b,c;
void vvod(void);
void discr(void);
void nalich(void);
void znach(void);
};
 
void Uravn:: vvod(void)
{
  cout<<("Введите параметр а")<<endl;
}
int main()
{
    Uravn vvod();
system("pause");
}
Программа запускается, но на экран ничего не выводит.

Ошибок тонна:
"oop_zad1.exe": Загружено: "C:\Users\ион\Documents\Visual Studio 2010\Projects\oop_zad1\Debug\oop_zad1.exe", Символы загружены.
"oop_zad1.exe": Загружено: "C:\Windows\System32\ntdll.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\kernel32.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\msvcp100d.dll", Символы загружены.
"oop_zad1.exe": Загружено: "C:\Windows\System32\msvcr100d.dll", Символы загружены.
"oop_zad1.exe": Загружено: "C:\Program Files\CheckPoint\ZAForceField\Plugins\ISWSHEX.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4053_none_d08d7da0442a985d\msvcr80.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\msvcrt.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\user32.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\gdi32.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\advapi32.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\rpcrt4.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\wintrust.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\crypt32.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\msasn1.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\userenv.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\secur32.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\imagehlp.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4053_none_d08d7da0442a985d\msvcp80.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\ole32.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\imm32.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\msctf.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\lpk.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\usp10.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\vksaver.dll", Двоичный код не был построен с отладочной информацией.
"oop_zad1.exe": Загружено: "C:\Windows\System32\ntmarta.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\Wldap32.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\ws2_32.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\nsi.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\psapi.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\samlib.dll", Невозможно найти или открыть файл PDB
"oop_zad1.exe": Загружено: "C:\Windows\System32\apphelp.dll", Невозможно найти или открыть файл PDB
Программа "[5284] oop_zad1.exe: Машинный код" завершилась с кодом 0 (0x0).
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
13.12.2010, 21:17     Вопрос про конструктор #6
Как бэ

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
class Uravn {
public:
Uravn()
{
}
int a,b,c;
void vvod(void);
void discr(void);
void nalich(void);
void znach(void);
};
 
void Uravn:: vvod(void)
{
  cout<<("Введите параметр а")<<endl;
}
int main()
{
    Uravn vv;
    vv.vvod();
system("pause");
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2010, 21:40     Вопрос про конструктор
Еще ссылки по теме:

Конструктор копирования(быстрый вопрос) C++
C++ Вопрос про Swich
C++ Про конструктор копирования, оператор присваивания

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
N-t0z
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16
13.12.2010, 21:40     Вопрос про конструктор #7
Ошибку понял. Спасибо
Yandex
Объявления
13.12.2010, 21:40     Вопрос про конструктор
Ответ Создать тему
Опции темы

Текущее время: 17:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru